반응형
이 포스팅은 아래의 유튜브 채널 "따배"를 따라서 학습한 내용입니다.
[관련 이론]
Static Pod 생성 과정
Static Pod는 kube-apiserver 없이 직접 kubelet이 관리하는 Pod.
일반적인 Pod은 kube-apiserver → etcd → kube-scheduler 등의 과정을 거치지만, Static Pod은 kubelet이 직접 생성 및 관리한다.
Static Pod의 kubelet 구성 파일은 /etc/kubernetes/manifests/*.yaml에 배치된다.
[Precondition]
(1) 테스트 환경
(1.1) Rocky Linux Cluster
: 직접 구성
[root@k8s-master ~]# k get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
k8s-master Ready control-plane 30d v1.27.2 192.168.56.30 <none> Rocky Linux 8.10 (Green Obsidian) 4.18.0-553.33.1.el8_10.x86_64 containerd://1.6.32
k8s-node1 Ready <none> 30d v1.27.2 192.168.56.31 <none> Rocky Linux 8.8 (Green Obsidian) 4.18.0-477.10.1.el8_8.x86_64 containerd://1.6.21
k8s-node2 Ready <none> 30d v1.27.2 192.168.56.32 <none> Rocky Linux 8.8 (Green Obsidian) 4.18.0-477.10.1.el8_8.x86_64 containerd://1.6.21
[root@k8s-master ~]#
(1.2) Ubuntu Cluster
: kodekloud 테스트 환경 활용
controlplane ~ ➜ kubectl get nodes -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
controlplane Ready control-plane 9m6s v1.31.0 192.6.94.6 <none> Ubuntu 22.04.4 LTS 5.4.0-1106-gcp containerd://1.6.26
node01 Ready <none> 8m31s v1.31.0 192.6.94.9 <none> Ubuntu 22.04.4 LTS 5.4.0-1106-gcp containerd://1.6.26
https://learn.kodekloud.com/user/courses/udemy-labs-certified-kubernetes-administrator-with-practice-tests
(2) 사전 필요 설정
: N/A
[Question]
Configure kubelet hosting to start a pod on the node
Node: hk8s-w1
pod Name: web
image: nginx
[Solve]
(1) Static pod 생성
: yaml 파일 생성과 동시에 static-web이 생성된다.
controlplane ~ ➜ cat /etc/kubernetes/manifests/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
name: web
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
(2) 생성된 pod 확인
controlplane ~ ➜ k get pods
NAME READY STATUS RESTARTS AGE
test-pod 1/1 Running 0 22m
web-controlplane 1/1 Running 0 104s
controlplane ~ ➜
controlplane ~ ➜ systemctl restart kubelet
controlplane ~ ➜ k get pods
NAME READY STATUS RESTARTS AGE
test-pod 1/1 Running 0 23m
web-controlplane 1/1 Running 0 2m8s
[사용 커맨드 정리]
ssh hk8s-w1
k get pods
vi /etc/kubernetes/manifests/static-web.yaml
apiVersion: v1
kind: Pod
metadata:
name: web
labels:
role: myrole
spec:
containers:
- name: web
image: nginx
ports:
- name: web
containerPort: 80
protocol: TCP
k get pods
systemctl restart kubelet
반응형
'Compute > kubernetis' 카테고리의 다른 글
[따배씨] 5. Side-car Container Pod 생성 / CKA 시험 문제 학습 (0) | 2025.01.30 |
---|---|
[따배씨] 4. multi-container Pod 생성 / CKA 시험 문제 학습 (0) | 2025.01.30 |
[따배씨] 2. Pod 생성하기 / CKA 시험 문제 학습 (0) | 2025.01.29 |
[따배씨] 1. ETCD Backup & Restore / CKA 시험 문제 학습 (0) | 2025.01.29 |
[CKA] 16. ETCD backup & Restore (0) | 2025.01.14 |