💻
[Kubernetes] Deploy 사용해보기
On this page
❐ 실습 내용
디플로이먼트를 사용하여 파드를 생성해봅시다.
파드 확인
root@instance-1:~# kubectl get podNo resources found in default namespace.
디플로이먼트를 사용하여 파드 생성
nginx:1.20.1 이미지를 실행하는 파드를 생성하고, 3개의 파드가 유지되도록 관리하는 디플로이먼트를 생성합니다. 이 디플로이먼트 이름은 nginx-deploy로 지었습니다.
root@instance-1:~# kubectl create deploy nginx-deploy --image=nginx:1.20.1 --replicas=3 --dry-run=client -o yaml > deploy.yamlroot@instance-1:~# lsdeploy.yaml kube_install.sh snaproot@instance-1:~# kubectl apply -f deploy.yamldeployment.apps/nginx-deploy created
파드 확인
파드 3개가 생성된 것을 확인할 수 있습니다.
root@instance-1:~# kubectl get podNAME READY STATUS RESTARTS AGEnginx-deploy-55bd5b4d9d-2tk8x 1/1 Running 0 11snginx-deploy-55bd5b4d9d-55xff 1/1 Running 0 11snginx-deploy-55bd5b4d9d-5cbdj 1/1 Running 0 11s
파드가 실행하고 있는 nginx 버전 확인
nginx:1.20.1가 실행 중인 것을 확인할 수 있습니다.
root@instance-1:~# kubectl get pod -o yaml nginx-deploy-55bd5b4d9d-2tk8xapiVersion: v1kind: Podmetadata:creationTimestamp: "2021-09-01T13:20:08Z"generateName: nginx-deploy-55bd5b4d9d-labels:app: nginx-deploypod-template-hash: 55bd5b4d9dname: nginx-deploy-55bd5b4d9d-2tk8xnamespace: defaultownerReferences:- apiVersion: apps/v1blockOwnerDeletion: truecontroller: truekind: ReplicaSetname: nginx-deploy-55bd5b4d9duid: e2ee2fcc-5b7b-4fd8-99fd-feb097eb7217resourceVersion: "41314"uid: 7c93ed34-8788-426f-a2f2-01df4e972522spec:containers:- image: nginx:1.20.1imagePullPolicy: IfNotPresentname: nginx(생략...)
yaml파일에 명시되어 있는 nginx 버전 변경
deploy.yaml 파일을 열어 nginx:1.20.1 -> nginx:1.21.1으로 수정합니다.
root@instance-1:~# vi deploy.yaml
수정한 yaml파일 적용
root@instance-1:~# kubectl apply -f deploy.yamldeployment.apps/nginx-deploy configured
파드 확인
새로운 파드 3개가 생성된 것을 확인할 수 있습니다.
root@instance-1:~# kubectl get podsNAME READY STATUS RESTARTS AGEnginx-deploy-69f689b6b9-9bfs2 1/1 Running 0 17snginx-deploy-69f689b6b9-mm4th 1/1 Running 0 19snginx-deploy-69f689b6b9-qcrmz 1/1 Running 0 16s
파드가 실행하고 있는 nginx 버전 확인
nginx:1.21.1가 실행 중인 것을 확인할 수 있습니다.
root@instance-1:~# kubectl get pod -o yaml nginx-deploy-69f689b6b9-9bfs2apiVersion: v1kind: Podmetadata:creationTimestamp: "2021-09-01T13:21:58Z"generateName: nginx-deploy-69f689b6b9-labels:app: nginx-deploypod-template-hash: 69f689b6b9name: nginx-deploy-69f689b6b9-9bfs2namespace: defaultownerReferences:- apiVersion: apps/v1blockOwnerDeletion: truecontroller: truekind: ReplicaSetname: nginx-deploy-69f689b6b9uid: 68308eac-30d0-4b20-b2b5-bb884e57066cresourceVersion: "41510"uid: 0866e603-a61d-489f-8e93-e07bec991d5fspec:containers:- image: nginx:1.21.1imagePullPolicy: IfNotPresentname: nginx