본 게시물은 [따배씨] 04. Multi-container Pod 생성하기 영상을 참고하여 작성한 글입니다.
kubernetes 공식 문서 : [Kubernetes docs] Creating a Pod that runs two Containers
create pod
- 작업 클러스터 : hk8s
- Create a pod name lab004 with 3 containers running: nginx, redis, memcached
$ kubectl run lab004 --image=nginx --dry-run=client -o yaml > multi.yaml
$ vim multi.yaml
apiVersion: v1
kind: Pod
metadata:
name: lab004
spec:
containers:
- image: nginx
name: nginx
- image: redis
name: redis
- image: memcached
name: memcached
$ kubectl apply -f multi.yaml
$ kubectl get pod lab004
NAME READY STATUS RESTARTS AGE
lab004 3/3 Running 0 35s
$ kubectl describe pod lab004
Name: lab004
Namespace: default
Priority: 0
Service Account: default
Node: worker/192.168.173.24
Start Time: Wed, 04 Oct 2023 17:24:08 +0900
Labels: <none>
Annotations: cni.projectcalico.org/containerID: 600414dfac52816fef67b7e535eac833c71e613c99aa17bb13e525f9829cbb6d
cni.projectcalico.org/podIP: 10.244.171.79/32
cni.projectcalico.org/podIPs: 10.244.171.79/32
Status: Running
IP: 10.244.171.79
IPs:
IP: 10.244.171.79
Containers:
nginx:
Container ID: cri-o://d98f444bb3509c3d0bbd3862c7ac36be92238728093684964be3e1c21de01762
Image: nginx
Image ID: docker.io/library/nginx@sha256:32da30332506740a2f7c34d5dc70467b7f14ec67d912703568daff790ab3f755
Port: <none>
Host Port: <none>
State: Running
Started: Wed, 04 Oct 2023 17:24:14 +0900
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jnldv (ro)
redis:
Container ID: cri-o://b86ab74dc060ac0aedb1f43a053cfb62aad72a5ee721ce025ddf48e13d27700e
Image: redis
Image ID: docker.io/library/redis@sha256:6f142e895151bb9c05a9452686f5ee1dc1aa873b56b82a33adbb0f5e17c06995
Port: <none>
Host Port: <none>
State: Running
Started: Wed, 04 Oct 2023 17:24:27 +0900
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jnldv (ro)
memcached:
Container ID: cri-o://1f8e76a81829dca1bdffa0a890e14b88c38258d7b19752aa7901e5066b0ac8ac
Image: memcached
Image ID: docker.io/library/memcached@sha256:3dfd85e1b83db26310b9e620e775922befa09deabef62b100b7de57a3441489c
Port: <none>
Host Port: <none>
State: Running
Started: Wed, 04 Oct 2023 17:24:39 +0900
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jnldv (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
kube-api-access-jnldv:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional: <nil>
DownwardAPI: true
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 97s default-scheduler Successfully assigned default/lab004 to worker
Normal Pulling 97s kubelet Pulling image "nginx"
Normal Pulled 91s kubelet Successfully pulled image "nginx" in 5.42622008s
Normal Created 91s kubelet Created container nginx
Normal Started 91s kubelet Started container nginx
Normal Pulling 91s kubelet Pulling image "redis"
Normal Pulled 79s kubelet Successfully pulled image "redis" in 12.629671578s
Normal Created 78s kubelet Created container redis
Normal Started 78s kubelet Started container redis
Normal Pulling 78s kubelet Pulling image "memcached"
Normal Pulled 66s kubelet Successfully pulled image "memcached" in 11.935012071s
Normal Created 66s kubelet Created container memcached
Normal Started 66s kubelet Started container memcached