๋ฐ์ํ
kubectl ๊ตฌ๋ฌธ
kubectl [COMMAND] [TYPE] [NAME] [FLAGS] COMMAND : ๋ฆฌ์์ค์ ์ํํ๋ ๋์์ ์ง์ (create, get, describe, delete ๋ฑ) TYPE : ๋ฆฌ์์ค ํ์ ์ ์ง์ (node, pod, service) NAME : ๋ฆฌ์์ค ์ด๋ฆ์ ์ง์ FLAGS : ๋ถ๊ฐ์ ์ ์ค์ ํ ์ต์ (--helo, --dry-run, -o yaml ๋ฑ)
kubectl ์ฝ์ด(shortname)
ns -> namespace sa -> serviceaccount no -> node po -> pod rs -> replicaset deploy -> deployment sts -> statefulset ds -> daemonsets svc -> service ing -> ingress pv -> persistentvolume pvc -> persistentvolumeclaim
kubectl ๋ช ๋ น์ด
kubectl api-resources # ์ ์ฒด ์ค๋ธ์ ํธ ์ข ๋ฅ ํ์ธ, ์ฌ์ฉ ๊ฐ๋ฅํ API ๋ฆฌ์์ค๋ฅผ ๋์ด kubectl apply -f k8s-app.yaml # kubectl์ ์ฌ๋ฌ ๊ฐ์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ context๋ก ์ค์ kubectl config current-context # ํ์ฌ ํด๋ฌ์คํฐ ํ์ธ kubeclt config use-context k8s # ํด๋ฌ์คํฐ ๋ณ๊ฒฝ kubectl config get-contexts kubectl cluster-info # ํด๋ฌ์คํฐ ์ํ ํ์ธ
kubectl create deployment webserver --image=nginx:1.14 --replicas=2 --dry-run=client -o yaml kubectl create namespace my-namespace kubectl create serviceaccount my-sa --namespace=my-namespace kubectl create role my-role --verb=watch,list --resource=pods -n=my-namespace kubectl create rolebinding my-rolebinding --role=my-role --serviceaccount=my-namespace:my-sa -n=my-namespace kubectl create clusterrole my-cluster-role --verb=create --resouce=secret # cluster role์ ์ ์ฒด ๋ค์์คํ์ด์ค๋ฅผ ๋์ kubectl create clusterrolebinding my-cluster-rolebinding --clusterrole=my-cluster-role --serviceaccount=my-namespace:my-sa kubectl create deploy my-deploy --image=tomcat --port=8080 --replicas=2
kubectl delete -f k8s-app.yaml kubectl describe pod/my-nginx kubectl describe deploy/my-deploy
kubectl exec -it my-nginx -- bash kubectl expose deploy my-deploy --type=ClusterIP --port=80 --target-port=8080 kubectl expose pod my-pod --type=ClusterIP --port=80 kubectl run my-nginx --image=nginx --dry-run=client -o yaml kubectl run my-nginx --image=nginx --labels=app=web
kubectl get all # default ๋ค์์คํ์ด์ค์ ์๋ ๋ชจ๋ ๋ฆฌ์์ค ํ์ธ kubectl get pod --show-labels # ๋ชจ๋ ๋ผ๋ฒจ ์ ๋ณด ํ์ธ [--show-labels] kubectl get pod <NAME> -L gpu # ๋ผ๋ฒจ ์ ๋ณด ํ์ธ [-L] kubectl get pod <NAME> -l gpu=true # ๋ผ๋ฒจ์ ์ด์ฉํ ์กฐ๊ฑด ํํฐ๋ง [-l] kubectl get pod --sort-by=.metadata.creationTimestamp # ๋ชจ๋ ํ๋๋ค์ ์์ฑ์๊ฐ์ผ๋ก ์ ๋ ฌ kubectl get pod -A kubectl get endpoints
kubectl logs my-nginx kubectl logs app nginx # app ํ๋์ nginx ์ปจํ ์ด๋์ ๋ก๊ทธ ํ์ธ kubectl logs app tomcat # ๋ฉํฐ์ปจํ ์ด๋ ํ๊ฒฝ์์ ์ปจํ ์ด๋ ์ง์
kubectl label pod/my-nginx run=myginx # pod์ ๋ ์ด๋ธ ์ถ๊ฐ kubectl label pod/my-nginx run- # pod์ ๋ ์ด๋ธ ์ญ์ kubectl label node k8s-worker1 gpu=true # ํค๊ฐ gpu์ด๊ณ , ๊ฐ์ด true์ธ ๋ ์ด๋ธ ์ถ๊ฐ kubectl label node k8s-worker1 gpu- # key๊ฐ gpu์ธ label ์ ๊ฑฐ kubectl label ns dev stage=dev kubectl scale rs <RS_NAME> --replicas <NUMBER> # replicasets์ ์ค์ผ์ผ ์กฐ์ kubectl scale deploy <DEPLOY_NAME> --replicas <NUMBER> kubectl scale sts <STS_NAME> --replicas <NUMBER> --namespace <NAMESPACE_NAME>
kubectl set image my-deploy nginx=nginx:1.11.13-alpine # my-deploy์ nginx ์ด๋ฏธ์ง๋ฅผ ๋กค๋ง ์ ๋ฐ์ดํธ kubectl rollout history deploy/hyuckang-deploy # ๋กค๋ง์ ๋ฐ์ดํธ ํ์คํ ๋ฆฌ ํ์ธ kubectl rollout history deploy/hyuckang-deploy --revision=1 # revision 1 ํ์คํ ๋ฆฌ ์์ธ ํ์ธ kubectl rollout undo deploy/hyuckang-deploy # ๋ฐ๋ก ์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ kubectl rollout undo deploy/hyuckang-deploy --to-revision=2 # ํน์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ
kubectl cordon k8s-worker01 kubectl uncordon k8s-worker01 kubectl drain k8s-worker02 --ignore-daemonsets kubectl top pods kubeclt top pods --containers kubectl top pods --sort-by=cpu # Pod๊ฐ ์ฌ์ฉํ๋ CPU๋ก ์ ๋ ฌ kubectl top nodes --sort-by=memory
๋ฐ์ํ
'๐ Container & K8S > Kubernetes' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[K8S] Karpenter์ Cluster AutoScaler(CA) (0) | 2024.03.11 |
---|