zoukankan      html  css  js  c++  java
  • k8s 网络策略案例

    k8s-网络策略案例

    1. k8s-网络策略案例

    • 案例1:拒绝其他命名空间Pod访问

    • 案例2:同一个命名空间下应用之间限制访问

    • 案例3:只允许指定命名空间中的应用访问

    • 附:准备环境快捷命令

      kubectl run busybox --image=busybox -n test -- sleep 12h
      
      kubectl run web --image=nginx -n test
      
      kubectl exec busybox -n test --ping 10.244.169.135 
      

    2. 案例1: 拒绝其他命名空间Pod访问

    • 需求:test命名空间下所有pod可以互相访问,也可以访问其他命名空间Pod,但其他命名空间不能访问test命名空间Pod。

    • 示例:

      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: deny-all-namespaces
        namespace: test
      spec:
        podSelector: {} # 未配置,匹配本命名空间所有pod
        policyTypes:
        - Ingress
        ingress:
        - from:
          - podSelector: {} # 未配置,匹配本命名空间所有pod
      

    2.1 案例操作

    • 执行案例

      [root@k8s-master01 ~]# kubectl run busybox --image=busybox -n test -- sleep 12h
      pod/busybox created
      [root@k8s-master01 ~]# kubectl run web --image=nginx -n test
      pod/web created
      
    • 编写配置网络策略

      [root@k8s-master01 ~]# vim test-network.yaml
      [root@k8s-master01 ~]# cat test-network.yaml 
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        name: deny-all-namespaces
        namespace: test
      spec:
        podSelector: {} # 未配置,匹配本命名空间所有pod
        policyTypes:
        - Ingress
        ingress:
        - from:
          - podSelector: {} # 未配置,匹配本命名空间所有pod
      
    • 执行配置网络策略

      [root@k8s-master01 ~]# kubectl apply -f test-network.yaml 
      networkpolicy.networking.k8s.io/deny-all-namespaces created
      
    • 验证服务

      [root@k8s-master01 ~]# kubectl get pods -n test -o wide
      NAME      READY   STATUS    RESTARTS   AGE   IP              NODE         NOMINATED NODE   READINESS GATES
      busybox   1/1     Running   0          16m   10.244.85.221   k8s-node01   <none>           <none>
      web       1/1     Running   0          15m   10.244.85.222   k8s-node01   <none>           <none>
      [root@k8s-master01 ~]# kubectl exec busybox -n test -- ping 10.244.85.222
      PING 10.244.85.222 (10.244.85.222): 56 data bytes
      64 bytes from 10.244.85.222: seq=0 ttl=63 time=0.169 ms
      64 bytes from 10.244.85.222: seq=1 ttl=63 time=0.063 ms
      64 bytes from 10.244.85.222: seq=2 ttl=63 time=0.065 ms
      
  • 相关阅读:
    Android特效专辑(一)——水波纹过渡特效(首页)
    简单整数算术运算
    Python 获取新浪微博的热门话题 (API)
    比真机还快的Android模拟器——Genymotion
    兔子--CheckBox与Radiobutton的差别
    hdu oj 3127 WHUgirls(2009 Asia Wuhan Regional Contest Online)
    python中列表,元组,字符串如何互相转换
    典型LoadRunner脚本
    LoadRunner显示中文乱码的问题
    如何解决paramiko执行与否的问题
  • 原文地址:https://www.cnblogs.com/scajy/p/15667355.html
Copyright © 2011-2022 走看看