티스토리 뷰
● Ready 상태라고 해서 끝이 아닌, 더 확인해 봐야 한다
[vagrant@ms ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
ms.example.com Ready control-plane 41m v1.29.2
wk1.example.com Ready <none> 40m v1.29.2
wk2.example.com Ready <none> 40m v1.29.2
● pods 확인을 해봐야 한다
>> kube-system 안에 있는 pods 들이 모두 Running 이 되어야 정상 작동한다
[vagrant@ms ~]$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-76f75df574-dnn6l 1/1 Running 0 41m
coredns-76f75df574-xx9lp 1/1 Running 0 41m
etcd-ms.example.com 1/1 Running 0 41m
kube-apiserver-ms.example.com 1/1 Running 0 41m
kube-controller-manager-ms.example.com 1/1 Running 0 41m
kube-proxy-2g2fg 1/1 Running 0 41m
kube-proxy-f86lt 1/1 Running 0 41m
kube-proxy-ghfmd 1/1 Running 0 41m
kube-scheduler-ms.example.com 1/1 Running 0 41m
● namespace 는 kubectl 을 경유해준다?
[vagrant@ms ~]$ kubectl get ns
NAME STATUS AGE
default Active 45m
kube-flannel Active 45m
kube-node-lease Active 45m
kube-public Active 45m
kube-system Active 45m
● 사용하지 않고 있다
>> 하지만 kube-system 은 기본적으로 사용하며, 그대로 쓴다
[vagrant@ms ~]$ kubectl get pods
No resources found in default namespace.
[vagrant@ms ~]$ kubectl get pods -n kube-public
No resources found in kube-public namespace.
[vagrant@ms ~]$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-76f75df574-dnn6l 1/1 Running 0 46m
coredns-76f75df574-xx9lp 1/1 Running 0 46m
etcd-ms.example.com 1/1 Running 0 46m
kube-apiserver-ms.example.com 1/1 Running 0 46m
kube-controller-manager-ms.example.com 1/1 Running 0 46m
kube-proxy-2g2fg 1/1 Running 0 46m
kube-proxy-f86lt 1/1 Running 0 46m
kube-proxy-ghfmd 1/1 Running 0 46m
kube-scheduler-ms.example.com 1/1 Running 0 46m
● kube-flannel 정상작동 / kube-system 정상작동 >> 정상
# CNI ( container network interface )
[vagrant@ms ~]$ kubectl get pods -n kube-flannel
NAME READY STATUS RESTARTS AGE
kube-flannel-ds-84jkj 1/1 Running 0 46m
kube-flannel-ds-p4lpr 1/1 Running 0 46m
kube-flannel-ds-qp7d5 1/1 Running 0 46m
▶ 동작 확인 작업
>> 다운로드 중
[vagrant@ms ~]$ kubectl run apache --image httpd:2.4
pod/apache created
[vagrant@ms ~]$ kubectl get pods
NAME READY STATUS RESTARTS AGE
apache 0/1 ContainerCreating 0 7s
[vagrant@ms ~]$ kubectl get pods
NAME READY STATUS RESTARTS AGE
apache 1/1 Running 0 36s
▷ 모든 pods 는 master 에서 작동 안하고 모두 worker 에서 작동한다
[vagrant@ms ~]$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
apache 1/1 Running 0 55s 10.244.2.2 wk2.example.com <none> <none>
◎ 하나 더 생성시 부하 분산하여 자동으로 각 worker 에 균등하게 실행된다
>> pod 를 랜덤하게 배치하는게 아니라 적절하게 배치한다
# pod 는 컨테이너를 담고있는 그릇이라고 생각
[vagrant@ms ~]$ kubectl run apache2 --image httpd:2.4
pod/apache2 created
[vagrant@ms ~]$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
apache 1/1 Running 0 100s 10.244.2.2 wk2.example.com <none> <none>
apache2 1/1 Running 0 15s 10.244.1.2 wk1.example.com <none> <none>
○ 직접 접속하여 문제가 없는지 확인
[vagrant@ms ~]$ curl 10.244.2.2
<html><body><h1>It works!</h1></body></html>
[vagrant@ms ~]$ curl 10.244.1.2
<html><body><h1>It works!</h1></body></html>
'Kubernetes [ 쿠버네티스 ]' 카테고리의 다른 글
Kubernetes - pods (0) | 2024.03.07 |
---|---|
Kubernetes 기본 개념 / namespace (0) | 2024.03.07 |
Kubernetes - 일반 계정 admin 권한 주기 [ 참조 치트시트 ] (0) | 2024.03.07 |
Kubernetes 설치 추가 (0) | 2024.03.07 |
Kubernetes 설치 (0) | 2024.03.07 |