POD 관리의 기초
■ 조회
kubectl get all
kubectl get pods :
kubectl get pods -o wide : 더자세히
kubectl describe pod [myapp-pod] :
kubectl get pods --namespace kube-system : Kubernetes의 시스템 POD를 볼수 있다
kubectl get pod [rabbit] -o yaml > pod.yaml : 운영중인 rabbit POD를 YAML로 내려 받기
kubectl cluster-info
■ 빌드/실행
kubectl create/apply -f [pod-definition.yml] :
kubectl run [redis] --image=[redis123]
kubectl run [redis] -o yaml --dry-run=client : 이를 쿠버네티스 API 서버에 전송하는 대신 YAML 형식으로 stdout에 출력한다.
(추가)> pod.yaml : YAML파일로 내리기
■ 삭제
kubectl delete pod [web-app]
■ 수정
kubectl edit pod [redis]
■ 도움말
kubectl explain pods --recursive | less
■ 리소스 종류 확인
kubectl api-resources
■ 실행
kubectl exec [ubuntu-sleeper] -- [whoami]
kubectl exec [ubuntu-sleeper] -- [date -s '19 APR 2012 11:14:00']
REPLICA와 DEPLOY
■ 조회
kubectl get replicationcontroller
kubectl get replicaset
kubectl get deployments
■ 빌드/실행
kubectl create deployment --image=nginx nginx --dry-run=client -o yaml
kubectl create deployment --image=httpd:2.4-alpine httpd:2.4-alpine --dry-run=client -o yaml > httpd:2.4-alpine-deployment.yaml
■ 삭제
kubectl delete replicaset [myapp-replicaset]
kubectl delete deployment [myapp-deployment]
■수정
kubectl replace -f [replicaset-definition.yml]
kubectl edit replicaset [new-replica-set]
kubectl scale --replicas=6 -f replicaset-definition.yml
kubectl scale --replicas=6 replicaset [myapp-replicaset]
NAMESPACE
■ 조회
kubectl get namespaces
kubectl get pods --namespace=[dev]
kubectl get pods --all-namespaces
kubectl config set-context $(kubectl config current-context) --namespace=[dev] :이후 모든 kubectl 명령에서 사용하는 네임스페이스를 컨텍스트에 영구적으로 저장할 수 있다.
kubectl get pods -n [research]
kubectl config current-context : 현재 context 조회
■ 빌드/실행
kubectl create namespace [namespace name]
SERVICE
■ 조회
kubectl get services
kubectl get svc
■ 빌드/실행
kubectl expose deployment [simple-webapp-deployment] --name=[webapp-service] --port=8080 --dry-run=client -o yaml > svc.yaml
kubectl expose: 파드에 걸쳐 트래픽을 로드 밸런스하도록 새로운 서비스 오브젝트를 생성한다.
kubectl expose pod [redis] --port=[6379] --target-port=[6379] --name=[redis-service]
kubectl run [httpd] --image=[httpd:alpine] --port=[80] --expose : ClusterIP 세팅을 한꺼번에
LABEL
kubectl run redis --image=[redis:alpine] -l [tier=db] : POD에 라벨링
kubectl label node [node01] [color=blue] : 노드에 라벨링
'PaaS > Kubernetes' 카테고리의 다른 글
(Kubernetes) NameSpace 와 Service (0) | 2021.03.15 |
---|---|
(Kubernetes) Replica 와 Deployment (0) | 2021.03.14 |
(Kubernetes) Kubernetes Architecture 2 (0) | 2021.03.13 |
(Kubernetes) Kubernetes Architecture (0) | 2021.03.11 |
(Kubernetes) 쿠버네티스 기초 학습 (0) | 2021.03.10 |