开发者社区 > 云原生 > 容器服务 > 正文

在容器服务ACK如何实现用阿里云的network policy 对fqdn实现访问白名单功能?

在容器服务ACK如何实现用阿里云的terway cni的network policy 对fqdn实现访问白名单功能?

展开
收起
三分钟热度的鱼 2023-07-19 20:59:48 91 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在容器服务 ACK 中,您可以使用阿里云的网络策略(Network Policy)功能,对 FQDN 实现访问白名单功能。具体步骤如下:

    创建网络策略:在容器服务 ACK 控制台中,创建一个网络策略对象,并定义相应的规则。规则可以基于 IP 地址、端口、协议等属性进行匹配,以限制访问。您可以使用阿里云的网络策略控制器,将网络策略应用到容器服务 ACK 集群中。

    定义 FQDN 访问规则:在网络策略中,您可以定义一条 FQDN 访问规则,以限制对指定域名的访问。具体来说,您可以在规则中指定 FQDN 域名,以及允许的 IP 地址或 IP 段,以限制访问。例如,可以定义以下规则:

    yaml
    Copy
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
    name: allow-fqdn-access
    spec:
    podSelector: {}
    policyTypes:

    • Ingress
      ingress:
    • from:
      • ipBlock:
        cidr: 10.0.0.0/8
      • namespaceSelector:
        matchLabels:
        app: nginx
        
        ports:
      • protocol: TCP
        port: 80
    • from:
      • ipBlock:
        cidr: 192.168.0.0/16
      • namespaceSelector:
        matchLabels:
        app: mysql
        
        ports:
      • protocol: TCP
        port: 3306
        在上述例子中,定义了两个 FQDN 访问规则,分别限制了对 nginx 和 mysql 服务的访问。其中,ipBlock 指定了允许访问的 IP 地址段,namespaceSelector 指定了允许访问的命名空间。您可以根据实际需要,进行相应的修改和优化。
    2023-07-29 09:03:41
    赞同 展开评论 打赏
  • 在容器服务 ACK 中,要使用阿里云的 Terway CNI(Container Network Interface)来实现对 FQDN(Fully Qualified Domain Name)的访问白名单功能,可以按照以下步骤进行配置:

    1. 安装和配置 Terway CNI:

      • 在创建或更新 ACK 集群时,选择 Terway CNI 作为网络插件。
      • 根据官方文档指引,执行相应的安装和配置步骤,确保 Terway CNI 正常运行。
    2. 创建 Network Policy 白名单规则:

      • 使用 Kubernetes 的 Network Policy 功能来定义网络策略,限制 Pod 之间的通信。
      • 编写一个 Network Policy YAML 文件,定义允许访问的 FQDN 列表。例如:

        apiVersion: networking.k8s.io/v1
        kind: NetworkPolicy
        metadata:
          name: whitelist-policy
        spec:
          podSelector: {}
          policyTypes:
          - Ingress
          ingress:
          - from:
            - namespaceSelector: {}
              podSelector: {}
            ports:
            - protocol: TCP
              port: 80
            - protocol: TCP
              port: 443
            - protocol: TCP
              port: 53
            - protocol: UDP
              port: 53
            - protocol: ICMP
        
      • from 部分添加需要允许访问的源 Namespace 或 Pod 的选择器,以及需要打开的端口和协议。

      • 确保该 Network Policy 被应用到正确的 Namespace 中。
    3. 验证配置:

      • 部署和启动需要访问白名单的应用程序,并确保它们所在的 Pod 符合 Network Policy 规则。
      • 尝试从 Pod 访问 FQDN,检查是否被限制仅允许访问白名单中的域名。

    需要注意的是,Terway CNI 作为容器服务 ACK 的网络插件,可以通过 Kubernetes 的 Network Policy 来实现基于 Pod 的访问控制。但是 Terway CNI 自身并不直接支持对 FQDN 的访问白名单功能。因此,在配置 Network Policy 时,需要考虑 FQDN 的解析和匹配方式。

    2023-07-28 12:53:59
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    通过 ACK 智能化运维体系获得集群自动化诊断和自愈能力 立即下载
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    《边缘容器服务ACK@Edge》 立即下载

    相关镜像