데이터센터프로그래밍24(2)

서유리·2022년 5월 31일
1
post-thumbnail

24-Scale and Rolling Updates(실습)

🔵 Setup Default State

minikube start
kubectl create deployment kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1
kubectl get deployments

🔵 Scale-up Deployment to 4 Replicas

kubectl scale deployments/kubernetes-bootcamp --replicas=4

🔵 Check Current State (1)

# 전체 확인
kubectl get all
# deployments만 확인
kubectl get deployments

🔵 Check Current State (2)

# IP address를 함께 확인하고 싶은 경우
kubectl get pods -o wide

🔵 Check Current State (3)

# 동작하는 log를 보고싶은 경우
kubectl describe deployments/kubernetes-bootcamp 

🔵 Check Current State (4)

# pod을 1개씩 보고싶은 경우
# kubectl describe pod/{Pod ID}
kubectl describe pod/Name안에 Gates

🔵 Check Current State (5)

# minikube ip
minikube ip
# 쿠버네티스 master의 ip 확인
kubectl cluster-info

🔵 Expose IP address (1)

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080
# minikube ip 번호 기억하기 
# minikube ip를 통해서 외부에서 접속 가능한 ip도 얻었지만, 8080에 해당하는 port 번호를 받아와야함
minikube ip
# port 열린 것을 확인
# NodePort 번호 기억하기
kubectl describe service/kubernetes-bootcamp
# wide 버전 확인
kubectl get pods -o wide

🔵 Expose IP address (2)

# curl http://192.###.##.#:#####
curl {minikube IP}:{NodePort Port}

🔵 Check Which Pod is Visited

  • Check Which Pod is Visited

🔵 Scale-down Deployment to 2 Replicas

kubectl scale deployments/kubernetes-bootcamp --replicas=2
# 4개가 2개로 줄은것을 확인
kubectl get deployments
# wide 버전 확인
kubectl get pods -o wide

🔵 Update Deployment from v1 to v2

# 쿠버네티스 deployments bootcamp에서 사용한 이미지를 jocatalin/kubernetes-bootcamp:v2로 set함 
# 구글 컨테이너의 레지스트리에 있던 이미지를 jocatalin으로 변경함
kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

🔵 Check Status (1)

# 새로운 이미지를 가지고 pod을 만들었고, 기존의 pod을  down해서 줄임 (ex. 0에서 1이됨)
# 스케일 업해서 새로운 이미지(jocatalin)으로 2개 띄움
kubectl describe deployments/kubernetes-bootcamp

🔵 Check Status (2)

# 2개, 2개가 있는 것을 확인
kubectl get all

🔵 Check Status (3)

# curl {minikube IP}:{NodePort Port}
curl http://###.###.##.#:#####

🔵 Check Update (=Rolling) Revision

kubectl rollout history deployment.apps/kubernetes-bootcamp
kubectl rollout history deployment.apps/kubernetes-bootcamp --revision=1
kubectl rollout history deployment.apps/kubernetes-bootcamp --revision=2

🔵 Rolling-back to Previous Revision

kubectl rollout undo deployment.apps/kubernetes-bootcamp

🔵 Check Rolling-back Events & Status

  • Check Rolling-back Events & Status

🔵 Rolling-back to Specific Revision

kubectl rollout undo deployment.apps/kubernetes-bootcamp --to-revision=1
profile
best of best

0개의 댓글

관련 채용 정보