首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Calico Cloud -公平域网络策略问题

Calico Cloud -公平域网络策略问题
EN

Stack Overflow用户
提问于 2022-05-06 09:48:07
回答 1查看 238关注 0票数 1

我正试图通过Calico Cloud使用域来配置出口流量。

我知道DNS特性与付费的Calico EnterpriseCalico Cloud是可能的,就像提到的这里一样。我正在使用calico cloud试用。我可以使用destination.nets访问公平流量,但是当我使用destination.domains时,它会阻塞整个出口流量。

我的环境:

代码语言:javascript
复制
GKE cluster: 1.20.15-gke.3400
Calico version: Calico Cloud (Already connected cluster, Network Policy created via Calico Cloud UI)
Firewalls: Disabled

对于测试,我使用默认的nginx pod和安装的ping。我试过pingcurl。为了方便起见,我允许任何协议。

使用网的工作配置:

代码语言:javascript
复制
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: default.allow-google
spec:
  tier: default
  order: 0
  selector: app == "nginx"
  namespaceSelector: ''
  serviceAccountSelector: ''
  egress:
    - action: Allow
      source: {}
      destination:
        nets:
          - 142.250.185.132/32 ## ip of www.google.com
          - 87.248.100.216/32  ## ip of www.yahoo.com
  doNotTrack: false
  applyOnForward: false
  preDNAT: false
  types:
    - Egress

使用域发布策略:

代码语言:javascript
复制
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: default.allow-google
spec:
  tier: default
  order: 0
  selector: app == "nginx"
  namespaceSelector: ''
  serviceAccountSelector: ''
  egress:
    - action: Allow
      source: {}
      destination:
        domains:
          - '*.google.com'
          - '*.yahoo.com'
          - google.com
          - yahoo.com
  doNotTrack: false
  applyOnForward: false
  preDNAT: false
  types:
    - Egress

问题:

  1. 我缺少一些基本的配置吗?它与层相关(我使用的是默认和安全层,但结果是相同的)?
  2. 是否还有其他选项允许基于DNS (开放源码/解决方案)的出口策略?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-09 11:07:08

我缺乏kube-dns服务策略。

当您将GKE集群连接到Calico Cloud时,没有任何策略。如果您创建了nets规则,它将工作,因为它只在IPs上工作。但是,当您想要使用FQDN/DNS时,您需要创建允许连接到kube-dns服务的策略。YAML看起来如下:

代码语言:javascript
复制
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-kube-dns
spec:
  selector: all()
  egress:
    - action: Allow
      destination:
        services:
          name: kube-dns
          namespace: kube-system

更多细节可以找到这里

对于故障排除,您可以检查是否使用host ($ host www.google.com)命令从dnsutils ($ apt install dnsutils)中看到任何输出。

应用以上YAML后,destination.domains策略按预期工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72139476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档