【CKA】考试之网络策略NetworkPolicy

11. [CKA]考试之网络策略NetworkPolicy ☆☆☆

11.1 题目要求

11.1.1 2021年1月

英文

创建一个名字为 allow-port-from-namespace 的 NetworkPolicy,这个 NetworkPolicy 允许
internal 命名空间下的 Pod 访问该命名空间下的 9000 端口。

  • 并且不允许不是 internal 命令空间的下的 Pod 访问(其他命名空间都不能访问)
  • 不允许访问没有监听 9000 端口的 Pod 。(port端口不是9000的pod不能被访问)
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: internal
spec:
  podSelector: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
        - podSelector: {}
      ports:
        - protocol: TCP
          port: 9000
11.1.2 2023年3月

在现有的namespace my-app中创建一个名为all-port-from-namespace的新NetworkPolicy。

确保新的NetworkPolicy允许namespace my-app中的pods可以连接到namespace big-corp中的8080。

进一步确保新的NetworkPolicy:

  • 不允许非来自my-app命名空间下的pod访问
  • 不允许对没有监听端口8080的pods访问
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: all-port-from-namespace
  namespace: my-app
spec:
  podSelector: {}
  policyTypes:
    - Ingress
    - Egress
  ingress:
    - from:
        - podSelector: {}
      ports:
        - protocol: TCP
          port: 8080
  egress:
    - to:
        - namespaceSelector:
            matchLabels:
              name: big-corp
      ports:
        - protocol: TCP
          port: 8080
11.1.3 2023年4月

在现有的namespace fubar中创建一个名为allow-port-from-namespace的新NetworkPolicy。

确保新的NetworkPolicy允许namespace my-app中的Pods连接到namespace fubar 中的Pods的80端口。

进一步确保新的NetworkPolicy:

  • 不允许对没有在监听端口80的Pods的访问

  • 不允许非来自 namespace my-app中的Pods的访问

11.2 官网位置

搜索词:networkpolicy 找到:网络策略

11.3 操作步骤-2023年4月

11.3.1 查询命名空间my-app的标签

考试的时候需要切换集群,切换集群后在命令行中执行查询命名空间中的所有标签命令,执行结果如下:

kubectl get ns my-app --show-labels

找出访问者namespace的标签独特标签label,为name=my-app

11.3.2 创建yaml文件
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-port-from-namespace
  namespace: fubar
spec:
  podSelector:
    matchLabels: {}
  policyTypes:
    - Ingress
  ingress:
    - from:
        - namespaceSelector:
            matchLabels:
              name: my-app
      ports:
        - protocol: TCP
          port: 80
11.3.3 执行yaml
kubectl apply -f network.yaml
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值