클라우드 엔지니어 꿈나무
Kubernetes(K8S) 따배쿠 Container 정리와 Single / Multi Container Pod 생성 Centos7 본문
Kubernetes(K8S) 따배쿠 Container 정리와 Single / Multi Container Pod 생성 Centos7
새싹싹이 2023. 10. 11. 15:22Container 와 Pod 차이 비교
Container 정리
app.js
app.js를 제공하는 app js application
8080 포트 열어 client connection 이 들어오면 200번 상태 코드와 함께 컨테이너 이름을 응답
이거를 기준으로 컨테이너 제공 node 1,2 버전을 넣음
# docker build -t smlinux/appjs
# docker push smlinux/appjs => 허브저장
Pod란
컨테이너를 표현하는 K8S API의 최소 단위
Pod는 하나 또는 여러 개의 컨테이너를 포함할 수 있음 (권장은 하지 않음)
1. kubetl run 명령(CLI)으로 생성
# kubectl run webserver --image=nginx:1.14
2. pod yaml을 이용해 생성
apiVersion: v1
kind: Pod
metadata:
name: webs
namespace: orange
spec:
containers:
- image: nginx:1.14
imagePullPolicy: Always
name: webs
ports:
- containerPort: 80
protocol: TCP
# kubectl get pods webs -o json | grep -i podip => podip 추출
# curl <pod 's IP address>
# watch kubectl get pods -o wide => watch 뒤의 명령어를 2초마다 한 번씩 실행
# curl 10.32.0.2
Multiple container pods
ip 하나, pod 하나에 컨테이너가 여러개 생성 가능
apiVersion: v1
kind: Pod
metadata:
name: multipod
spec:
containers:
- name: nginx-container
image: nginx
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
- name: centos-container
image: centos:7
imagePullPolicy: IfNotPresent
command:
- sleep
- "10000"
# kubectl create -f multi.yaml
web과 web1 pod와는 다르게 multipod 는 2/2 로 컨테이너가 두 개 실행된 것을 확인할 수 있음
# kubectl exec multipod -c nginx-container -it -- /bin/bash => multipod pod 중 nginx 컨테이너에 접속
-c [컨테이너 이름] -it (interactive, sudo 터미널 만들어서) -- /bin/bash -> 쉘 실행
root@multipod:/usr/share/nginx/html# cat index.html
root@multipod:/usr/share/nginx/html# echo "TEST web" > index.html => nginx 문구 수정
root@multipod:/usr/share/nginx/html# exit
# kubectl exec multipod -c centos-container -it -- /bin/bash => centos 컨테이너 접속
[root@multipod /]# ps -ef
[root@multipod /]# curl localhost(:80)
Pod 이름과 IP는 동일하기 때문에 curl 이 진행되어야 함
[root@multipod /]# cat /etc/hosts
[root@multipod /]# exit
# kubectl logs multipod -c nginx-container => 멀티 컨테이너이기 때문에 컨테이너 이름까지 넣어 로그 보기
200번으로 표시된 것은 성공 표시
# kubectl logs web1 => 단일 컨테이너라 컨테이너명 안 씀
<<참고 영상>>
https://youtu.be/QGF7igBYSEI?si=qhXcNxfwg2j1yMiP
'kubernetes' 카테고리의 다른 글
Kubernetes(K8S) livenessProbe를 이용해 self-healing Pod (1) | 2023.10.14 |
---|---|
Kubernetes(K8S) 따배쿠 Pod : Pod 동작 flow - CentOS7 (0) | 2023.10.12 |
Kubernetes(K8S) 따배쿠 yaml 템플릿 - Centos7 (0) | 2023.10.11 |
Kubernetes(K8S) 따배쿠 namespace - Centos7 (1) | 2023.10.09 |
Kubernetes(K8S) 따배쿠 동작 원리 - Centos7 (1) | 2023.10.09 |