查看Pod里容器的名称
初始化一个包含两个容器的Pod(tomcat和nginx),其中文件名为ini-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-tomcat
    image: tomcat
  - name: myapp-nginx
    image: nginx

kubectl create -f ini-pod.yaml
1
查看Pod里业务容器的命令
kubectl get pods myapp-pod -o jsonpath={.spec.containers[*].name}
1
其中 myapp-pod为pod的名称,其它不变


查看Pod里初始化容器的命令
kubectl get pods myapp-pod -o jsonpath={.spec.initContainers[*].name}
1
其中 myapp-pod为pod的名称,其它不变

Pause容器存在的意义和证明
一个Pod里的容器之间访问可以通过localhost去访问,即一个pod里的所有容器是共享一个网络的,那怎么才能实现一个Pod里的多个容器共享一个网络IP呢?Pause容器的存在也即解决了这个问题。

学docker的时候有一个知识点是docker的网络模式【https://www.jianshu.com/p/22a7032bb7bd】,里面是有一个是container模式的,其实也完全可以理解。当我创建一个pod的时候,我可以给pod里的一个容器配置ip,其他的容器网络都link到这个配置有ip的容器上,那这样的话就实现了一个pod里的多个容器共用一个ip,也即一个Pod里的容器之间访问可以通过localhost去访问。

证明Pod里存在pause容器的证据如下图所示, 按照上面的例子,其实我在pod里创建了2个容器(tomcat和nginx),但是我查询出来的却是3个。

docker ps |grep myapp-pod
1


注意
全文中 myapp-pod为pod的名称

参考
https://www.thinbug.com/q/47073079
https://blog.csdn.net/liumiaocn/article/details/104231375
https://www.jianshu.com/p/22a7032bb7bd
————————————————
版权声明:本文为CSDN博主「CBeann」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37171353/article/details/120590894

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐