一个pod里面可以定义多个container,这种pod叫Multi-container pod
,这些container共享同一个IP和volume:
直接在containers
下面定义即可:
apiVersion: v1
kind: Pod
metadata:
name: mywebserver
spec:
containers:
- name: container1
image: nginx
- name: container2
image: busybox
command: ["sleep", "3600"]
kubectl apply -f xxx.yaml
之后,查看pods:
2/2
,表明有两个容器,且两个容器都正常运行。describe pod
后,可以列出两个容器的信息。此时进入容器的bash,由于有两个容器,默认进入第一个:
root@mywebserver:/# apt update && apt install net-tools
安装net-tools
后查看nginx容器的IP和开放端口:
此时进入另一个busybox容器,查看容器和端口,发现IP和开放端口与nginx的一模一样:
甚至wget localhost也能返回结果。
从而验证了一点:同一个pod下的多个容器共享一个IP和所有端口。