티스토리 뷰
2021.12.18 - [Devops 2회차/K8S Study] - K8S-01_개요 및 스터디 계획
2021.12.25 - [Devops 2회차/K8S Study] - K8S-02_쿠버네티스 기초와 kubectl
2022.01.02 - [Devops 2회차/K8S Study] - K8S-03_kubectl
이제 여기까지 따라왔다면 정말 아무것도 모르겠지만 pod라는 것을 생성해보려고 한다.
다만, 이번 글의 목적은 'pod의 개념을 이해하고 pod를 생성해서 활용한다!' 가 아닌,
쿠버네티스에서 어떻게 우리가 오브젝트를 선언하고 이를 활용할 수 있는지 그 원리만 가볍게 본다고 생각하자.
출처
https://kubernetes.io/ko/docs/concepts/workloads/pods/
쿠버네티스 완벽 가이드
Sample-pod 생성 및 삭제 해보기
- 로컬 특정 경로에 아래와 같은 파일을 하나 만든다.
파일명은 sample-pod.yamlapiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
- 미니큐브 가동
minikube start
- 아래는 몇가지 kubectl 명령어 이다. 차례대로 사용해보자
## 최초로 리소스를 생성할 때 kubectl create -f sample-pod.yaml ## 파드 리스트 조회할 때 kubectl get pods ## 생성한 파드를 삭제할 때 kubectl delete -f sample-pod.yaml
순서대로 해당 명령어를 실행하여 파드가 생성되고, 이를 제거해 보았다.
Sample-pod 내용 갱신하여 적용하기
- 위에서 정의한 sample-pod.yaml 내용 중에 image나 port를 변경하거나, 아니면 그 어떤 세부 설정을 변경하고자 한다면 어떻게 할까? 위와 같은 상황을 위하여 kubectl 커맨드는 apply 라는 커맨드를 지원한다. 변경사항이 없다면 아무 일도 일어나지 않고, 변경사항이 있다면 바뀌게 된다.
kubectl apply -f sample-pod.yaml
위 커맨드는 특이한 점이 있다.
어떤 manifests를 갱신할때 뿐만 아니라 생성할 때에도 사용된다는 점이다.
실무를 하다보면 사실상 create는 거의 사용하지 않는다. 최초의 생성부터 배포를 위한 갱신까지 전부 apply를 사용하고 있으며, 나중에 다루게 될 CI/CD 의 ArgoCD 역시 apply 커맨드를 기반으로 동작한다. - 따라서, apply에 익숙해지면 굳이 create와 apply를 구분할 필요가 없어진다. 리소스가 없다면 apply가 create 동작을 하기 때문에 이는 용이하다. 특히나 대규모 리소스를 동시에 동작시킨다면.!
- create보다 apply를 사용해야 하는 이유는 한 가지 더 있는데, 이 둘을 섞어서 사용하면 kubectl apply를 실행할 때 일부 변경사항을 검출하지 못할 경우가 있다고 한다.
kubectl apply로 적용된 변경 사항은 이전매니페스트, 현재 리소스 상태, 적용할 매니페스트 이렇게 세 종류에서 나오게 되는데, kubectl create를 사용할 때 --save-config 옵션이 없이 사용된다면 특정 필드에서 변경 사항을 산출하지 못하고 의도와 다르게 반영되지 않는 필드가 발생한다고 한다. (이 부분은 딥하게 파지는 못했다.)
'Devops 2회차 > K8S Study' 카테고리의 다른 글
k8s-06_워크로드 API(Pod, Replicaset, Deployment) (0) | 2022.03.06 |
---|---|
k8s-05_kubectl 명령어와 친해지기 (0) | 2022.02.15 |
K8S-03_kubectl (0) | 2022.01.02 |
K8S-02_쿠버네티스 기초와 kubectl (0) | 2021.12.25 |
K8S-01_개요 및 스터디 계획 (0) | 2021.12.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 맥북초기세팅
- sk브로드밴드 nas
- k8s workload api
- kubectl
- 데몬셋
- k8s pod
- k8s study
- 쿠버네티스 시작
- 데몬셋업데이트
- M1세팅
- k8s기초
- k8s kubeconfig
- 맥북초기셋팅
- synology nas router manual setup
- 맥북프로m1세팅
- kubectl command
- 쿠버네티스
- k8s명령어
- kubeconfig
- 쿠버네티스 API 리소스
- 쿠버네티스스터디
- k8s스터디
- 쿠버네티스 기초
- 쿠버네티스공부
- k8s가이드
- 쿠버네티스명령어
- kubectl기본명령어
- 맥북개발자세팅
- k8s job
- 맥북창정렬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함