[kubenetes] 4. 레플리카셋
kubenetes
Author
Date
2022-07-25 21:22
Views
1368
레플리카셋 생성
root@Kube-master1:~# cat replicaset-nginx.yaml apiVersion: apps/v1 kind: ReplicaSet metadata: name: replicaset-nginx spec: replicas: 3 selector: matchLabels: app: my-nginx-pods-label # 여기까지가 replicaset 설정 부분 template: metadata: name: my-nginx-nod labels: app: my-nginx-pods-label spec: containers: - name: nginx image: nginx:latest ports: - containerPort: 80 root@Kube-master1:~# vi replicaset-nginx.yaml root@Kube-master1:~# kubectl apply -f replicaset-nginx.yaml root@Kube-master1:~# kubectl get po NAME READY STATUS RESTARTS AGE my-nginx-pod 2/2 Running 0 18h replicaset-nginx-cf4fx 1/1 Running 0 29m replicaset-nginx-lxz7l 1/1 Running 0 29m replicaset-nginx-xczrv 1/1 Running 0 29m
replicas 변경시 1개 새로 추가
root@Kube-master1:~# cat replicaset-nginx.yaml | grep replicas: replicas: 4 root@Kube-master1:~# kubectl apply -f replicaset-nginx.yaml replicaset.apps/replicaset-nginx configured root@Kube-master1:~# kubectl get po NAME READY STATUS RESTARTS AGE my-nginx-pod 2/2 Running 0 18h replicaset-nginx-cf4fx 1/1 Running 0 30m replicaset-nginx-kbbzg 1/1 Running 0 6s replicaset-nginx-lxz7l 1/1 Running 0 30m replicaset-nginx-xczrv 1/1 Running 0 30m
replicaset-nginx.yaml 파일의 내용중 다음부분이 replicaset과 pods를 잇는 부분이다.
레플리카셋 설정의 아래부분
matchLabels: app: my-nginx-pods-label
포드 설정의 아래부분 두개가 일치해야 레플리카셋이 수행됨
labels: app: my-nginx-pods-label
다음의 명령은 vi 편집기가 실행된다.
root@Kube-master1:~# kubectl edit po replicaset-nginx-cf4fx pod/replicaset-nginx-cf4fx edited
여기서 아무 포드나들어가서 label 부분을 삭제하면 새로운 포드가 생성된다.
label이 삭제된 pods는 더 이상 레플리카셋이 관리하지않으며 수동으로 생성된 포드와 동일하다
root@Kube-master1:~# kubectl get pods --show-labels NAME READY STATUS RESTARTS AGE LABELS my-nginx-pod 2/2 Running 0 20h replicaset-nginx-cf4fx 1/1 Running 0 149m # 이것을 수정 replicaset-nginx-lttqh 1/1 Running 0 22m app=my-nginx-pods-label replicaset-nginx-lxz7l 1/1 Running 0 149m app=my-nginx-pods-label replicaset-nginx-xczrv 1/1 Running 0 149m app=my-nginx-pods-label
래플리카셋 삭제
root@Kube-master1:~# kubectl delete rs replicaset-nginx replicaset.apps "replicaset-nginx" deleted
Total Reply 0