본문 바로가기
Kubernetes

[kubernetes 수업] 06장 POD 관련

by bestchoco 2024. 11. 2.

* 복습

 

kubectl run

kubectl create -f ~~~~~.yml

kubectl apply -f ~~~~~.yml   

=> 이미 있는 것에 대해선 apply 적용 불가하나, 추가한 리소스에 대한 것에 대해 apply하면 기존 껀 무시하고 추가한 리소스만 새로 적용 가능.

 

..

kubectl describe pods web1

>> Namespace

>> Labels

 

..

컨테이너 구동 시 Mounts에 표기된 경로에 실제로 파일이 생긴다.

 

..

Events

..

//

kubectl get pod -o wide

 

ls -l /etc/kubernetes/manifests/

>> Static Pod

 

kubectl create namespace myns2 --dry-run -o yaml > myns2.yml

 

kubectl exec multipod -c ubuntu-container -it -- /bin/bash


오전 10:08 2024-11-03
kube-apiserver-master
>> 이건 별도로 빼서 쓰는 걸 추천

etcd (api에서 처리하는 모든 것을이 etcd에 저장)
>> 원래는 static pod로 구성되어 있음. (/etc/kubernetes/manifests에 원래 있었을 것)
>> 그러나, kubesplay - ansible로 설치했기 때문에 바깥에 프로세스로 구동 중임.

[root@master ~]# ps -ef | grep etcd
root         900       1  3 09:18 ?        00:01:37 /usr/local/bin/etcd
=> 부모 프로세스가 1이다. (systemd)

 PID 1은 일반적으로 시스템의 초기 프로세스인 init 또는 systemd. 
이 부모 프로세스는 시스템이 부팅될 때 가장 먼저 실행되는 프로세스
============================================
오전 10:08 2024-11-03

-  파드 리소스 할당 및 제한



* limits만 걸면 자동으로 Requests도 설정된다. (kubectl describe pod으로 확인 가능)


==
[root@master ~/kube/06/resource]# kubectl exec nginx-resources-pod -c nginx-container -it -- /bin/bash


root@nginx-resources-pod:/# history
    1  apt-get update
    2  apt-get install stress
==
[root@master ~/kube/06/resource]# time kubectl exec nginx-resources-pod -c nginx-container -it -- stress --vm 1 --vm-bytes 2G -t 5s
stress: info: [163] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: FAIL: [163] (425) <-- worker 169 got signal 9
stress: WARN: [163] (427) now reaping child worker processes
stress: FAIL: [163] (461) failed run completed in 1s
command terminated with exit code 1

real 0m2.109s
user 0m0.103s
sys 0m0.060s
[root@master ~/kube/06/resource]# time kubectl exec nginx-resources-pod -c nginx-container -it -- stress --vm 1 --vm-bytes 200m -t 5s
stress: info: [170] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: info: [170] successful run completed in 5s

real 0m5.396s
user 0m0.124s
sys 0m0.109s
==========================================================
오전 10:49 2024-11-03
[root@master ~/kube/06/resource]# time kubectl exec nginx-resources-pod -c nginx-container -it -- stress --vm 1 --vm-bytes 2G -t 5s
stress: info: [163] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: FAIL: [163] (425) <-- worker 169 got signal 9
stress: WARN: [163] (427) now reaping child worker processes
stress: FAIL: [163] (461) failed run completed in 1s
command terminated with exit code 1

real 0m2.109s
user 0m0.103s
sys 0m0.060s
[root@master ~/kube/06/resource]# time kubectl exec nginx-resources-pod -c nginx-container -it -- stress --vm 1 --vm-bytes 200m -t 5s
stress: info: [170] dispatching hogs: 0 cpu, 0 io, 1 vm, 0 hdd
stress: info: [170] successful run completed in 5s

real 0m5.396s
user 0m0.124s
sys 0m0.109s

[root@master ~/kube/06/resource]# kubectl get pod -o wide
NAME                  READY   STATUS    RESTARTS   AGE   IP             NODE    NOMINATED NODE   READINESS GATES
nginx-resources-pod   1/1     Running   0          16m   10.233.75.23   node2   <none>           <none>

==========================================================
[root@master ~]# kubectl get pods -w


NAME                  READY   STATUS    RESTARTS   AGE
nginx-resources-pod   0/1     Pending   0          0s
nginx-resources-pod   0/1     Pending   0          0s

==========================================================
오전 11:28 2024-11-03
[root@master ~/kube/06/env]# kubectl exec nginx-env-pod -it -- env | grep MYWEB
MYWEB=/usr/share/nginx/html

==========================================================
오전 11:37 2024-11-03
  676  2024-11-03 11:37:21  kubectl get pod -n product
  677  2024-11-03 11:37:30  kubectl describe pod -n product

[root@master ~/kube/example]# kubectl delete pod -n product myweb