티스토리 뷰
Pods 생성과 실행
kubectl create deployment [POD_NAME] --image=[IMAGE]
kubectl run [POD_NAME] --image=[IMAGE]
Pods 삭제
kubectl delete pods [NAME]
# run으로 만든 단일 Pod 삭제
kubectl delete deployment [NAME]
# deployments 삭제
kubectl delete all --all
# 전체 Pods 삭제
kubectl delete pods [NAME] -n [NAMESPACE]
# 특정 namespace의 Pod 삭제
Yaml 파일
kubectl run web --image=nginx -o yaml --dry-run=client > web.yaml
# nginx 이미지로 만든 web pod의 yaml 파일 뜨기
kubectl get pods web -o yaml > web.yaml
# 이미 생성한 pod의 경우 get으로 yaml 파일 확인
vi web.yaml
# 파일을 열어 설정 변경, 수정
kubectl apply -f [FILE_NAME]
# 수정한 yaml 파일 실행
kubectl edit deployments.apps [POD_NAME]
# 바로 해당 pod의 yaml 파일이 열리며 저장하는 순간 apply 없이도 바로 상태 변화
Namespace 생성
: -n [NAMESPACE] 옵션으로 지정 가능
kubectl create namespace [NAMESPACE]
# namespace 생성
kubectl run [NAME] --image=nginx -n [NAMESPACE]
# pod를 특정 namespace에 생성
kubectl create deployment [NAME] --image=nginx -n [NAMESPACE]
# 특정 namespace에 deploy 생성
kubectl delete pods [NAME] -n [NAMESPACE]
# 특정 namespace에서 pod 삭제
watch kubectl get pods -o wide -n [NAMESPACE]
# default 아닌 특정 namespace의 pods 보기
Troubleshooting
kubectl api-resources
# api-resources 확인
kubectl get pods -n kube-system
# 시스템이 잘 동작하는지 확인
kubectl describe node [workernode]
# 노드 상태 점검
kubectl describe pods [POD_NAME]
# pod의 상세 정보, 상태 확인
kubectl exec -it [POD_NAME] -- /bin/bash
# 컨테이너 안으로 진입
kubectl exec -it [POD_NAME] -- env
# 해당 pod의 환경 변수 확인 가능
--dry-run=client
# 명령어의 오류 여부를 체크하는 옵션 (실제 실행은 X)
Cordon & Drain
kubectl cordon [WORKER_NODE]
# 해당 work node -> SchedulingDisabled 상태 변화
# 이후 새로 run하는 pod는 다른 work node로 할당
kubectl uncordon [WORKER_NODE]
# 해당 work node를 Ready 상태로 되돌림
kubectl drain [WORKER_NODE] --ignore-daemonsets --force
# 현재 있었던 해당 worker node의 모든 작업이 다른 work node로 넘어감
kubectl uncordon [WORKER_NODE]
# 해당 work node를 Ready 상태로 되돌림
Rolling-update
kubectl set image deployment [DEPLOY_NAME] [CONTAINER_NAME]=[new_version_img] --record
# rolling update
kubectl rollout history deployment [deploy_name]
# --record로 기록한 이전 버전을 history에서 확인
kubectl rollout undo deployment [deploy_name]
# rollback
kubectl rollout undo deployment [deploy_name] --to-revision=[num]
# history에 기록된 숫자를 지정해 rollback
'IaC > Kubernetes' 카테고리의 다른 글
[Kubernetes] livenessProbe (0) | 2023.04.14 |
---|---|
[Kubernetes] Init Container, Static Container (0) | 2023.04.07 |
[Kubernetes] Cordon & Drain (0) | 2023.04.07 |
[Kubernetes] Scale-out과 yaml 파일 수정 (0) | 2023.04.06 |
[Kubernetes] Kubernetes System: 컨테이너 관리의 자동화 (0) | 2023.04.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Window Server Manager
- Docker
- Vmware
- 클라우드 DNS 서비스
- Git
- rocky9
- EKS
- Azure DNS
- VPC
- redhat
- ycampus
- RECA
- Route53
- aws cli
- kubernetes
- IAC
- Ansible
- github
- Local Zones
- Google Cloud DNS
- vsphere
- IAM
- Route53 비용 정책
- kubectl
- AWS
- Windows Server
- k8s
- VM Tools
- 에티버스러닝
- Linux
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
글 보관함