ReplicaSet은 쿠버네티스의 가용성을 높여주는 기능입니다.
pod의 개수를 지정하고 어떤 pod의 기능에 이상이 생겨도 항상 지정한 개수만큼의 pod를 유지해 주는 기능입니다.
https://kubernetes.io/ko/docs/concepts/workloads/controllers/replicaset/
ReplicaSet
cat replica.yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: apache-replica
spec:
replicas: 3
selector:
matchLabels:
app: apache-replica-test
template:
metadata:
labels:
app: apache-replica-test
spec:
containers:
- name: myweb-container2
image: httpd:2.4
ports:
- containerPort: 80
replica를 생성합니다.
kubectl create -f replica.yaml
확인
kubectl get pods
pod수가 유지되는지 실험해 보기 위해 pod 하나를 지웁니다.
kubectl delete pods apache-replica-4tjf9
지워진 pod 외에 새로운 pod 하나가 생성 된 것을 확인 할 수 있습니다.
kubectl get pods
실시간으로 pod를 5개로 늘릴수도 있습니다.
kubectl scale --replicas=5 replicaset apache-replica
Deployment는 배포 및 관리하는 역할 입니다. 실제로는 Deployment에서 pod수 조정이 가능하기 때문에
replicaset은 잘 쓰지 않습니다.
https://kubernetes.io/ko/docs/concepts/workloads/controllers/deployment/
Deployment
yaml 파일을 생성 합니다.
cat Deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-test
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
실행 합니다.
kubectl create -f Deployment.yaml
확인
kubectl get pods -o wide
pod가 어디서 생성됬는지 확인
kubectl get deployments.apps
kubectl get replicasets.apps
업데이트를 해봅니다
롤링 업데이트 시작
kubectl set image deployment nginx-test nginx=nginx:1.19.0 --record
kubectl rollout history deployment nginx-test
2번째 버전으로 돌아간다는 뜻
kubectl rollout undo deployment --to-revision=2
다른 버전으로 시작
kubectl set image deployment nginx-test nginx=nginx:1.18.0 --record
kubectl rollout history deployment nginx-test
kubectl get pods
'CLOUD > CUBE' 카테고리의 다른 글
쿠버네티스(Kubernetes) - 로드밸런서(LoadBalancer) (0) | 2021.11.08 |
---|---|
쿠버네티스(Kubernetes) - Cluster IP, Nodeport (0) | 2021.11.08 |
쿠버네티스(kubernetes) yaml file - namespace, pod, service (0) | 2021.11.06 |
쿠버네티스 설치(Kubernetes install)하면서 발생한 에러 및 해결방법 (0) | 2021.10.30 |
도커 컴포즈(Docker Compose) 설치(install) 및 실행(up) (0) | 2021.10.25 |