hugo-teek is loading...

网络策略

最后更新于:

网络策略

目录

[toc]

介绍

默认情况下,Kubernetes 集群网络没任何网络限制,Pod 可以与任何其他Pod通信,在某些场景下就需要进行网络控制,减少网络攻击面,提高安全性,这就会用到网络策略。

网络策略(Network Policy):是一个K8s资源,用于限制Pod出入流量,提供Pod级别和Namespace级别网络访问控制。

默认情况,k8集群里,Pod和Pod,Node和Pod之间都是可以随意通信的。

网络策略的应用场景:

  • 应用程序间的访问控制,例如项目A不能访问项目B的Pod
  • 开发环境命名空间不能访问测试环境命名空间Pod
  • 当Pod暴露到外部时,需要做Pod白名单
  • 多租户网络环境隔离

网络策略:yaml文件示例

 1apiVersion: networking.k8s.io/v1
 2kind: NetworkPolicy
 3metadata:
 4  name: test-network-policy
 5  namespace: default
 6spec:
 7  podSelector:
 8    matchLabels:
 9      role: db
10  policyTypes:
11  - Ingress
12  - Egress
13  ingress:
14  - from:
15    - ipBlock:
16        cidr: 172.17.0.0/16
17        except:
18        - 172.17.1.0/24
19    - namespaceSelector:
20        matchLabels:
21          project: myproject
22    - podSelector:
23        matchLabels:
24          role: frontend
25    ports:
26    - protocol: TCP
27      port: 6379
28  egress:
29  - to:
30    - ipBlock:
31        cidr: 10.0.0.0/24
32    ports:
33    - protocol: TCP
34      port: 5978

image-20230519080001099

podSelector:目标Pod,根据标签选择。

policyTypes:策略类型,指定策略用于入站、出站流量。

Ingress:from是可以访问的白名单,可以来自于IP段、命名空间、Pod标签等,ports是可以访问的端口。

Egress:这个Pod组可以访问外部的IP段和端口。

注意:

1{} 代表包括所有
2不写ingress或者egress代表默认行为,拒绝所有。

案例1:拒绝命名空间下所有Pod出入站流量

==💘 案例:拒绝命名空间下所有Pod出入站流量-2023.1.6(测试成功)==

次策略实际过程中不会用到。

image-20230521155150999

  • 实验环境
1实验环境:
21、win10,vmwrokstation虚机;
32、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
4   k8s version:v1.22.2
5   containerd://1.5.5
  • 实验软件

无。

1、创建测试命名空间和相应pod

 1(1)创建测试命名空间test
 2[root@k8s-master1 ~]#kubectl create ns test
 3namespace/test created
 4
 5(2)创建相应pod
 6#在test命名空间下创建2个pod
 7[root@k8s-master1 ~]#kubectl run busybox-test --image=busybox -n test -- sleep 12h
 8pod/busybox-test created
 9[root@k8s-master1 ~]#kubectl run web-test --image=nginx -n test
10pod/web-test created
11[root@k8s-master1 ~]#kubectl get po -owide -ntest
12NAME           READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES
13busybox-test   1/1     Running   0          13s   10.244.36.74     k8s-node1   <none>           <none>
14web-test       1/1     Running   0          8s    10.244.169.138   k8s-node2   <none>           <none>
15
16#在default命名空间下创建1个pod
17[root@k8s-master1 ~]#kubectl run busybox-default --image=busybox  -- sleep 12h
18pod/busybox-default created
19[root@k8s-master1 ~]#kubectl get po -owide
20NAME              READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES
21busybox-default   1/1     Running   0          5s    10.244.169.140   k8s-node2   <none>           <none>

2、测试k8s默认网络策略

 1(1)同命名空间下pod是可以互相访问的
 2[root@k8s-master1 ~]#kubectl exec -it busybox-test -ntest -- sh
 3/ #
 4/ # ping 10.244.169.138
 5PING 10.244.169.138 (10.244.169.138): 56 data bytes
 664 bytes from 10.244.169.138: seq=0 ttl=62 time=0.601 ms
 764 bytes from 10.244.169.138: seq=1 ttl=62 time=0.393 ms
 8^C
 9--- 10.244.169.138 ping statistics ---
102 packets transmitted, 2 packets received, 0% packet loss
11round-trip min/avg/max = 0.393/0.497/0.601 ms
12
13(2)不同命名空间下pod是可以互相访问的
14[root@k8s-master1 ~]#kubectl exec -it busybox-test -ntest -- sh
15/ #
16/ # ping 10.244.169.140
17PING 10.244.169.140 (10.244.169.140): 56 data bytes
1864 bytes from 10.244.169.140: seq=0 ttl=62 time=0.657 ms
19^C
20--- 10.244.169.140 ping statistics ---
211 packets transmitted, 1 packets received, 0% packet loss
22round-trip min/avg/max = 0.657/0.657/0.657 ms
23
24(3)node是可以访问pod地址的
25[root@k8s-master1 ~]#ping 10.244.36.74
26PING 10.244.36.74 (10.244.36.74) 56(84) bytes of data.
2764 bytes from 10.244.36.74: icmp_seq=1 ttl=63 time=0.485 ms
2864 bytes from 10.244.36.74: icmp_seq=2 ttl=63 time=0.440 ms
29^C
30--- 10.244.36.74 ping statistics ---
312 packets transmitted, 2 received, 0% packet loss, time 1000ms
32rtt min/avg/max/mdev = 0.440/0.462/0.485/0.031 ms

3、为test命名空间配置网络策略

 1#deny-all.yaml
 2apiVersion: networking.k8s.io/v1
 3kind: NetworkPolicy
 4metadata:
 5  name: deny-all
 6  namespace: test
 7spec:
 8  podSelector: {} # 匹配本命名空间所有pod
 9  policyTypes: 
10  - Ingress
11  - Egress
12  # ingress和egress没有指定规则,则不允许任何流量进出pod

部署:

1[root@k8s-master1 ~]#kubectl apply -f deny-all.yaml
2networkpolicy.networking.k8s.io/deny-all created
3[root@k8s-master1 ~]#kubectl get networkpolicy -ntest
4NAME       POD-SELECTOR   AGE
5deny-all   <none>         21s

4、测试

 1(1)测试访问外部(拒绝访问):
 2[root@k8s-master1 ~]#kubectl exec -it busybox-test -n test -- sh
 3/ #
 4/ # ping 10.244.169.140
 5PING 10.244.169.140 (10.244.169.140): 56 data bytes
 6^C
 7--- 10.244.169.140 ping statistics ---
 84 packets transmitted, 0 packets received, 100% packet loss
 9
10
11(2)测试外部pod访问(拒绝访问):
12[root@k8s-master1 ~]#kubectl exec -it busybox-default -- sh
13/ #
14/ # ping 10.244.36.74
15PING 10.244.36.74 (10.244.36.74): 56 data bytes
16^C
17--- 10.244.36.74 ping statistics ---
184 packets transmitted, 0 packets received, 100% packet loss
19/ #
20
21
22(3)测试内部pod之间访问(拒绝访问):
23[root@k8s-master1 ~]#kubectl exec -it busybox-test -n test -- sh
24/ #
25/ # ping 10.244.169.138
26PING 10.244.169.138 (10.244.169.138): 56 data bytes
27^C
28--- 10.244.169.138 ping statistics ---
294 packets transmitted, 0 packets received, 100% packet loss
30/ #

测试结束。😘

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

==💘 案例2:拒绝其他命名空间Pod访问-2023.1.6(测试成功)==

image-20230521155210673

 1案例2:拒绝其他命名空间Pod访问
 2需求:test命名空间下所有pod可以互相访问,也可以访问其他命
 3名空间Pod,但其他命名空间不能访问test命名空间Pod。
 4
 5apiVersion: networking.k8s.io/v1
 6kind: NetworkPolicy
 7metadata:
 8  name: deny-all-namespaces 
 9  namespace: test
10spec:
11  podSelector: {} # 未配置,匹配本命名空间所有pod
12  policyTypes:
13  - Ingress
14  ingress:
15  - from:
16    - podSelector: {} # 未配置,匹配本命名空间所有pod
17    
18#说明
19一般情况,我们配置的ingress规则会多些,而出规则egress很少去配置的;
  • 实验环境
1实验环境:
21、win10,vmwrokstation虚机;
32、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
4   k8s version:v1.20.0
5   docker://20.10.7
  • 实验软件

无。

准备测试环境:

  • 先创建下test命名空间:
1[root@k8s-master ~]#kubectl create ns test
2namespace/test created
  • 再创建2个pod:
 1[root@k8s-master np]#kubectl run web --image=nginx -n test
 2pod/web created
 3[root@k8s-master ~]#kubectl run busybox --image=busybox -n test -- sleep 24h
 4pod/busybox created
 5
 6#查看
 7[root@k8s-master ~]#kubectl get pod -n test
 8NAME                  READY   STATUS    RESTARTS   AGE
 9busybox               1/1     Running   0          9s
10web-96d5df5c8-7r6w6   1/1     Running   0          3m11s
11[root@k8s-master ~]#kubectl get pod -n test -o wide
12NAME      READY   STATUS    RESTARTS   AGE     IP               NODE        NOMINATED NODE   READINESS GATES
13busybox   1/1     Running   0          21h     10.244.169.148   k8s-node2   <none>           <none>
14web       1/1     Running   0          7h26m   10.244.169.151   k8s-node2   <none>           <none>
15
16#默认情况下,`Kubernetes 集群网络没任何网络限制,Pod 可以与任何其他 Pod 通信`
17[root@k8s-master ~]#kubectl exec busybox -n test -- ping 10.244.169.151
18PING 10.244.169.151 (10.244.169.151): 56 data bytes
1964 bytes from 10.244.169.151: seq=0 ttl=63 time=0.283 ms
2064 bytes from 10.244.169.151: seq=1 ttl=63 time=0.126 ms
21^C
22[root@k8s-master ~]#
  • 我们再次在默认命名空间下创建一个pod,并测试不同命名空间下的pod是否可以进行通信:=>是可以通信的
1[root@k8s-master ~]#kubectl run busybox --image=busybox -- sleep 24h
2
3[root@k8s-master ~]#kubectl get pod -o wide
4[root@k8s-master ~]#kubectl get pod -o wide -n test
5[root@k8s-master ~]#kubectl exec busybox -- ping 10.244.169.157

现在进行按题目需求进行限制:

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

  • 创建np目录:
 1[root@k8s-master ~]#mkdir np
 2[root@k8s-master ~]#cd np/
 3[root@k8s-master np]#vim deny-all-namespaces.yaml #配置yaml,这就是所谓的白名单
 4apiVersion: networking.k8s.io/v1
 5kind: NetworkPolicy
 6metadata:
 7  name: deny-all-namespaces 
 8  namespace: test
 9spec:
10  podSelector: {} # 未配置,匹配本命名空间所有pod
11  policyTypes:
12  - Ingress
13  ingress:
14  - from:
15    - podSelector: {} # 未配置,匹配本命名空间所有pod
  • apply并测试效果:=>完全符合预期效果。
 1 #apply下
 2 [root@k8s-master np]#kubectl apply -f deny-all-namespaces.yaml
 3networkpolicy.networking.k8s.io/deny-all-namespaces created
 4
 5#验证效果
 6[root@k8s-master np]#kubectl exec busybox -- ping 10.244.169.157 #做了网络策略限制后,从默认命名空间下不能ping通test命名空间下的web pod了。
 7^C
 8
 9#但在test下ping不同命名空间下的pod是依然可以访问的
10[root@k8s-master np]#kubectl exec busybox -n test -- ping 10.244.169.157
11PING 10.244.169.157 (10.244.169.157): 56 data bytes
1264 bytes from 10.244.169.157: seq=0 ttl=63 time=0.245 ms
1364 bytes from 10.244.169.157: seq=1 ttl=63 time=0.307 ms
14^C
15
16#test命名空间下也是可以直接访问外网的;
17[root@k8s-master np]#kubectl exec busybox -n test -- ping www.baidu.com
18PING www.baidu.com (180.101.49.11): 56 data bytes
1964 bytes from 180.101.49.11: seq=0 ttl=127 time=12.591 ms
2064 bytes from 180.101.49.11: seq=1 ttl=127 time=9.736 ms
21^C
22[root@k8s-master np]#
23
24#至此,案例2测试成功!

测试结束。😘

案例3:允许其他命名空间Pod访问指定应用

==💘 案例3:允许其他命名空间Pod访问指定应用-2023.5.21(测试成功)==

image-20230521163949187

  • 实验环境
1实验环境:
21、win10,vmwrokstation虚机;
32、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
4   k8s version:v1.20.0
5   docker://20.10.7
  • 实验软件

无。

  • 先创建下test命名空间:
1[root@k8s-master ~]#kubectl create ns test
2namespace/test created
  • 创建网络策略
1[root@k8s-master1 ~]#mkdir np
2[root@k8s-master1 ~]#cd np
 1[root@k8s-master1 np]#vim allow-all-namespace.yaml
 2apiVersion: networking.k8s.io/v1
 3kind: NetworkPolicy
 4metadata:
 5  name: allow-all-namespaces 
 6  namespace: test
 7spec:
 8  podSelector: 
 9    matchLabels:
10      run: web
11  policyTypes:
12  - Ingress
13  ingress:
14  - from:
15    - namespaceSelector: {} # 匹配所有命名空间的pod  
  • 部署
1[root@k8s-master1 np]#kubectl  apply -f allow-all-namespace.yaml 
2networkpolicy.networking.k8s.io/allow-all-namespaces created
3[root@k8s-master1 np]#kubectl get networkpolicy -ntest
4NAME                   POD-SELECTOR   AGE
5allow-all-namespaces   app=web        32s
  • 创建测试pod
 1kubectl run busybox --image=busybox -n test -- sleep 12h
 2kubectl run web --image=nginx -n test
 3
 4kubectl run busybox --image=busybox - sleep 12h
 5kubectl run web --image=nginx
 6
 7[root@k8s-master1 ~]#kubectl  get po -owide
 8NAME      READY   STATUS    RESTARTS   AGE     IP               NODE        NOMINATED NODE   READINESS GATES
 9busybox   1/1     Running   0          84s     10.244.169.155   k8s-node2   <none>           <none>
10web       1/1     Running   0          2m50s   10.244.36.90     k8s-node1   <none>           <none>
11[root@k8s-master1 np]#kubectl  get po -owide -ntest --show-labels 
12NAME      READY   STATUS    RESTARTS   AGE     IP               NODE        NOMINATED NODE   READINESS GATES   LABELS
13busybox   1/1     Running   0          6m23s   10.244.169.153   k8s-node2   <none>           <none>            run=busybox
14web       1/1     Running   0          6m23s   10.244.36.89     k8s-node1   <none>           <none>            run=web
  • 在default命名空间下ping测test命名空间下的2个pod,观察效果
 1[root@k8s-master1 np]#kubectl  exec -it busybox -- sh
 2/ # ping 10.244.169.153 #ping测buxybox
 3PING 10.244.169.153 (10.244.169.153): 56 data bytes
 464 bytes from 10.244.169.153: seq=0 ttl=63 time=0.168 ms
 5^C
 6--- 10.244.169.153 ping statistics ---
 71 packets transmitted, 1 packets received, 0% packet loss
 8round-trip min/avg/max = 0.168/0.168/0.168 ms
 9/ # ping 10.244.36.89  #ping测web
10PING 10.244.36.89 (10.244.36.89): 56 data bytes
1164 bytes from 10.244.36.89: seq=0 ttl=62 time=0.504 ms
1264 bytes from 10.244.36.89: seq=1 ttl=62 time=0.448 ms
13^C
14--- 10.244.36.89 ping statistics ---
152 packets transmitted, 2 packets received, 0% packet loss
16round-trip min/avg/max = 0.448/0.476/0.504 ms
17/ #
  • 问题来了:不是已经配置了策略了吗?怎么还能ping通test命名空间下的buxybox pod呢?

这是因为这个策略实际上是没有意义的,因为k8s默认的策略就是各个命名空间下的pod是可以互访的。

网路策略是由网络组件控制的,网络组件是由iptable完成的,iptables是从上到下匹配的。

因此,可以看到,在default命名空间下都是可以ping通test命名空间下2个pod的。

image-20230521165353497

但是,该如何解决呢?

此时就需要配合案例1的网络策略进行使用。

把案例1的网络策略当做一个安全基础,然后在此基础上做白名单限制。

 1[root@k8s-master1 np]#vim deny-all.yaml
 2#deny-all.yaml
 3apiVersion: networking.k8s.io/v1
 4kind: NetworkPolicy
 5metadata:
 6  name: deny-all
 7  namespace: test
 8spec:
 9  podSelector: {} # 匹配本命名空间所有pod
10  policyTypes: 
11  - Ingress
12  - Egress
13  # ingress和egress没有指定规则,则不允许任何流量进出pod
14
15
16#部署
17#注意:此时需要先删除刚才创建的那条策略,然后先部署deny-all.yaml,再部署allow-all-namespace.yaml
18kubectl delete -f  allow-all-namespace.yaml
19[root@k8s-master1 np]#kubectl apply -f deny-all.yaml 
20networkpolicy.networking.k8s.io/deny-all created
21[root@k8s-master1 np]#kubectl apply -f allow-all-namespace.yaml 
22networkpolicy.networking.k8s.io/allow-all-namespaces created
  • 再次测试
 1[root@k8s-master1 np]#kubectl  exec -it busybox -- sh
 2/ # ping 10.244.36.89 #ping测web
 3PING 10.244.36.89 (10.244.36.89): 56 data bytes
 464 bytes from 10.244.36.89: seq=0 ttl=62 time=0.470 ms
 5^C
 6--- 10.244.36.89 ping statistics ---
 71 packets transmitted, 1 packets received, 0% packet loss
 8round-trip min/avg/max = 0.470/0.470/0.470 ms
 9/ # ping 10.244.169.153 #ping测buxybox
10PING 10.244.169.153 (10.244.169.153): 56 data bytes
11^C
12--- 10.244.169.153 ping statistics ---
133 packets transmitted, 0 packets received, 100% packet loss
14/ #

测试结束。😘

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

==💘 案例4:同一个命名空间下应用之间限制访-2023.5.21(测试成功)==

image-20230521175402961

 1案例4:同一个命名空间下应用之间限制访问
 2
 3需求:将test命名空间携带run=web标签的Pod隔离,只允许test
 4命名空间携带run=client1标签的Pod访问80端口。
 5
 6apiVersion: networking.k8s.io/v1
 7kind: NetworkPolicy
 8metadata:
 9  name: app-to-app
10  namespace: test
11spec:
12  podSelector:
13    matchLabels:
14      run: web
15  policyTypes:
16  - Ingress
17  ingress:
18  - from:
19    - podSelector:
20        matchLabels:
21          run: client1
22    ports:
23    - protocol: TCP
24      port: 80
  • 实验环境
1实验环境:
21、win10,vmwrokstation虚机;
32、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
4   k8s version:v1.20.0
5   docker://20.10.7
  • 实验软件

无。

  • 我们这边做测试时,先把上面的网络策略规则给删除掉:
1[root@k8s-master1 np]#kubectl delete -f .
2networkpolicy.networking.k8s.io "allow-all-namespaces" deleted
3networkpolicy.networking.k8s.io "deny-all" deleted
  • 创建2个test命名空间下的不同label的测试pod:
 1[root@k8s-master np]#kubectl get pod -n test --show-labels
 2NAME      READY   STATUS    RESTARTS   AGE   LABELS
 3busybox   1/1     Running   1          22h   run=busybox
 4web       1/1     Running   1          8h    run=web
 5
 6[root@k8s-master np]#kubectl run  client1 -l run=client1 --image=busybox -n test -- sleep 12h
 7pod/client1 created
 8[root@k8s-master np]#kubectl run  client2 -l run=client2 --image=busybox -n test -- sleep 12h
 9pod/client2 created
10
11[root@k8s-master np]#kubectl get pod -n test --show-labels
12NAME      READY   STATUS    RESTARTS   AGE   LABELS
13busybox   1/1     Running   1          22h   run=busybox
14client1   1/1     Running   0          33s   run=client1
15client2   1/1     Running   0          20s   run=client2
16web       1/1     Running   1          8h    run=web
17[root@k8s-master np]#
  • 配置前测试:默认同一个命名空间下的pod都是可以直接访问的:

  • 现在开始配置网络策略:
 1[root@k8s-master np]#vim app-to-app.yaml
 2apiVersion: networking.k8s.io/v1
 3kind: NetworkPolicy
 4metadata:
 5  name: app-to-app
 6  namespace: test
 7spec:
 8  podSelector:
 9    matchLabels:
10      run: web
11  policyTypes:
12  - Ingress
13  ingress:
14  - from:
15    - podSelector:
16        matchLabels:
17          run: client1
18    ports:
19    - protocol: TCP
20      port: 80
21
22[root@k8s-master np]#kubectl apply -f app-to-app.yaml
23networkpolicy.networking.k8s.io/app-to-app created

  • 测试失效效果:=>符合预期。

至此,案例4实验完成。😘

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

==💘 案例5:只允许指定命名空间中的应用访问-2023.5.21(测试成功)==

image-20230521201826470

  • 实验环境
1实验环境:
21、win10,vmwrokstation虚机;
32、k8s集群:3台centos7.6 1810虚机,1个master节点,2个node节点
4   k8s version:v1.20.0
5   docker://20.10.7
  • 实验软件

无。

根据题目需求进行测试

  • 创建ns dev与标签为env=dev的pod
1[root@k8s-master1 np]#kubectl create ns dev
2namespace/dev created
3
4[root@k8s-master1 np]#kubectl run web --image=nginx -l env=dev -n dev 
5pod/web created
6[root@k8s-master1 np]#kubectl get po -ndev --show-labels -owide
7NAME   READY   STATUS    RESTARTS   AGE   IP               NODE        NOMINATED NODE   READINESS GATES   LABELS
8web    1/1     Running   0          30s   10.244.169.156   k8s-node2   <none>           <none>            env=dev
  • 创建ns prod及网络策略.yaml
 1#创建ns prod并打上标签
 2[root@k8s-master1 np]#kubectl create ns prod
 3namespace/prod created
 4[root@k8s-master1 np]#kubectl label ns prod env=prod
 5namespace/prod labeled
 6[root@k8s-master1 np]#kubectl get ns prod --show-labels 
 7NAME   STATUS   AGE   LABELS
 8prod   Active   30s   env=prod
 9
10#创建网络策略.yaml
11[root@k8s-master1 np]#vim test.yaml
12apiVersion: networking.k8s.io/v1
13kind: NetworkPolicy
14metadata:
15  name: dev-web
16  namespace: dev
17spec:
18  podSelector:
19    matchLabels:
20      env: dev
21  policyTypes:
22  - Ingress
23  ingress:
24  # 满足允许prod命名空间中的pod访问
25  - from:
26    - namespaceSelector:
27        matchLabels:
28          env: prod
29  # 允许pod标签为app=client1的pod访问,所有命名空间
30  - from:
31    - namespaceSelector: {}
32      podSelector:
33        matchLabels:
34          app: client1
35
36#部署
37[root@k8s-master1 np]#kubectl apply -f test.yaml 
38networkpolicy.networking.k8s.io/dev-web created
  • 测试
 1#创建测试pod
 2kubectl run busybox --image=busybox  -n prod -- sleep 12h #预期:会访问成功
 3kubectl run busybox --image=busybox  -- sleep 12h #预期:会访问失败
 4kubectl run busybox2 --image=busybox -l app=client1  -- sleep 12h #预期:会访问成功
 5
 6#ping测试
 7kubectl run busybox --image=busybox  -n prod-- sleep 12h #预期:会访问成功
 8kubectl run busybox --image=busybox  -- sleep 12h #预期:会访问失败
 9kubectl run busybox2 --image=busybox -l app=client1  -- sleep 12h #预期:会访问成功
10
11#测试效果(以下均符合预期效果)
12[root@k8s-master1 np]#kubectl exec busybox -nprod -- ping 10.244.169.156
13PING 10.244.169.156 (10.244.169.156): 56 data bytes
1464 bytes from 10.244.169.156: seq=0 ttl=63 time=0.161 ms
15^C
16[root@k8s-master1 np]#kubectl exec -it  busybox -- ping 10.244.169.156
17PING 10.244.169.156 (10.244.169.156): 56 data bytes
18^C
19--- 10.244.169.156 ping statistics ---
202 packets transmitted, 0 packets received, 100% packet loss
21command terminated with exit code 1
22[root@k8s-master1 np]#kubectl exec -it  busybox2 -- ping 10.244.169.156
23PING 10.244.169.156 (10.244.169.156): 56 data bytes
2464 bytes from 10.244.169.156: seq=0 ttl=62 time=0.951 ms
2564 bytes from 10.244.169.156: seq=1 ttl=62 time=0.600 ms
26^C
27--- 10.244.169.156 ping statistics ---
282 packets transmitted, 2 packets received, 0% packet loss
29round-trip min/avg/max = 0.600/0.775/0.951 ms

测试结束。😘

关于我

我的博客主旨:

  • 排版美观,语言精炼;
  • 文档即手册,步骤明细,拒绝埋坑,提供源码;
  • 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!

🍀 微信二维码 x2675263825 (舍得), qq:2675263825。

image-20230107215114763

🍀 微信公众号 《云原生架构师实战》

image-20230107215126971

🍀 个人博客站点

http://47.97.48.237/ (即将上线域名:onedayxyy.cn)

image-20230917111843405

🍀 语雀

https://www.yuque.com/xyy-onlyone

image-20230912072007284

🍀 csdn https://blog.csdn.net/weixin_39246554?spm=1010.2135.3001.5421

image-20230107215149885

🍀 知乎 https://www.zhihu.com/people/foryouone

image-20230107215203185

最后

好了,关于本次就到这里了,感谢大家阅读,最后祝大家生活快乐,每天都过的有意义哦,我们下期见!

推荐使用微信支付
微信支付二维码
推荐使用支付宝
支付宝二维码
最新文章

文档导航