GKE 클러스터에 배포하기
nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80
# nginx 배포하기
kubectl apply -f ./nginx-deployment.yaml
# 배포 목록 확인하기
kubectl get deployments
Pod 확장하기
# 포드 목록 확인
kubectl get deployments
# 포드 백업 4개의 레플리카로 확장
kubectl scale --replicas=4 deployment nginx-deployment
# 포드 목록 확인
kubectl get deployments
nginx 설치하기
# nginx 업데이트
kubectl set image deployment.v1.apps/nginx-deployment nginx=nginx:1.9.1 --record
# 릴리스 상태 확인
kubectl rollout status deployment.v1.apps/nginx-deployment
# 배포 목록 출력
kubectl get deployments
# 배포 기록 출력
kubectl rollout history deployment nginx-deployment
배포 롤백하기
객체 릴리즈를 롤백하여 버전 관리를 한다.
# 이전 버전 nginx로 롤백
kubectl rollout undo deployments nginx-deployment
# 릴리즈 버전 출력
kubectl rollout history deployment nginx-deployment
# 최신 배포 버전 세부정보 출력
kubectl rollout history deployment/nginx-deployment --revision=4
로드 밸런서를 설정하고 테스트하기
service-nginx.yaml
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- protocol: TCP
port: 60000
targetPort: 80
# service-nginx 배포
kubectl apply -f ./service-nginx.yaml
# 로드밸런서 배포 확인
kubectl get service nginx
카나리아 배포하기
nginx-canary.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-canary
labels:
app: nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
track: canary
Version: 1.9.1
spec:
containers:
- name: nginx
image: nginx:1.9.1
ports:
- containerPort: 80
kubectl apply -f nginx-canary.yaml
kubectl get deployments
# 기본 배포를 레플리카 0개로 축소
kubectl scale --replicas=0 deployment nginx-deployment
kubectl get deployments
'Cloud > GCP' 카테고리의 다른 글
[GCP] GKE 모니터링 로깅 솔루션 (0) | 2023.07.14 |
---|---|
[GCP] 구글 클라우드와 컨테이너 (0) | 2023.07.10 |
[GCP] 구글 클라우드의 리소스 관리 : 리소스 계층 및 리소스 관리 방법 (0) | 2023.07.10 |
[GCP] 클라우드 컴퓨팅과 구글 클라우드 (0) | 2023.07.10 |