์ค์ต ํ๊ฒฝ
- control plane, worker node1, worker node2
- docker, kubeadm, kubectl, kubelet ์ค์น๋์ด ์์ด์ผํจ.
- ๋ช
๋ น์ด ์คํ ๊ฐ๋ฅ ์ฌ๋ถ ํ์ธ
kubectl --help
kubectl์ด ๋ญ์ผ?
- โ์ฟ ๋ฒ์ผ ๋ ์น์๋ฒ 3๊ฐ ์คํํด์คโ ํ ๋ <- kubectl ๋ช ๋ น์ด๋ก k8s์ ์คํ ์์ฒญ
kubectl ๋ช ๋ น์ด ๊ธฐ๋ณธ ๊ตฌ์กฐ
kubectl [command] [TYPE] [NAME] [flags]
- command : ์์์ ์คํํ ๋ช ๋ น (create, get, delete, edit โฆ)
- TYPE : ์์์ ํ์ (node, pod, service โฆ)
- NAME : ์์์ ์ด๋ฆ
- flag : ๋ถ๊ฐ์ ์ผ๋ก ์ค์ ํ ์ต์
(โhelp, -o options โฆ )
kubectl get pod webserver -o wide
kubectl ๋ช ๋ น์ด ์๋์์ฑ
- BASH ์ ๊ธฐ์ค
source <(kubectl completion bash) source <(kubeadm completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc echo "source <(kubeadm completion bash)" >> ~/.bashrc
kubectl commands
- kubectl โhelp
-
kubectl command โhelp
- kubectl run <์์์ด๋ฆ> <์ต์ >์ต์ >์์์ด๋ฆ>
- kubectl create -f obj.yaml
-
kubectl apply -f obj.yaml
- kubectl get <์์์ด๋ฆ> <๊ฐ์ฒด์ด๋ฆ>๊ฐ์ฒด์ด๋ฆ>์์์ด๋ฆ>
- kubectl edit <์์์ด๋ฆ> <๊ฐ์ฒด์ด๋ฆ>๊ฐ์ฒด์ด๋ฆ>์์์ด๋ฆ>
-
kubectl describe <์์์ด๋ฆ> <๊ฐ์ฒด์ด๋ฆ>๊ฐ์ฒด์ด๋ฆ>์์์ด๋ฆ>
- kubectl delete pod main
kubectl์ ๊ธฐ๋ณธ ๋ช ๋ น์ด ์ฌ์ฉ๋ฒ
- kubectl api-resources
- kubectl ๋์๋ง ๋ณด๊ธฐ
kubectl --help
kubectl logs --help
- ์์
Node ์ ๋ณด ๋ณด๊ธฐ
kubectl get nodes
๋ช ๋ น์ด๋ฅผ ํตํ ์ค์ ์ฐ์ต
- ์ปจํ
์ด๋ Pod ์์ฑ
$kubectl run webserver --image=nginx:1.14 --port 80 pod/webserver created
kubectl get pods
kubectl get pods -o wide
- ๋์ ์ค์ธ ์น ์๋ฒ ํ์ธ
curl ip
- ์ปจํ
์ด๋ n๊ฐ๋ฅผ ์คํํด์ค
$kubectl create deployment mainui --image=httpd --replicas=3 deployment.apps/mainui created
- ํ์ธ
kubectl get deployment.apps kubectl describe deployments.apps mainui kubectl get pods kubectl get pod mainui-asdadasdfasdf -o wide kubectl get pod webserver -o wide kubectl get pod webserver -o yaml kubectl get pod webserver -o json
- ์ปจํ
์ด๋ ๋ด๋ถ๋ก ์ ๊ทผํด์ webserver index.html ๋ฐ๊พธ๊ธฐ
kubectl exec webserver -it -- /bin/bash
- ๋ก๊ทธ ํ์ธ
kubectl logs webserver
- ํฌํธ ํฌ์๋ฉ
kubectl port-forward webserver 8080:80
- ์คํ ์ค์ธ pod์ ๋ํด ์์
kubectl get deployment.apps kubectl edit deployment.apps mainui kubectl get pods
- webserver ์คํ์ด ๋๋์ง ์๋๋์ง ํ์ธ
kubectl run webserver --image=nginx1.14 --port 80 --dry-run
- ์คํ ํ pod๋ฅผ yaml ํ์ผ๋ก ๋ง๋ค์ด๋๊ธฐ
kubectl run webserver --image=nginx1.14 --port 80 --dry-run -o yaml > webserver-pod.yaml
- pod ์ญ์ ๋ฐ ํ์ธ
kubectl delete pod webserver kubectl get pods kubectl delete deployments.apps mainui kubectl get pods
- yaml ํ์ผ๋ก pod ์์ฑํ๊ธฐ
kubectl create -f webserver-pod.yaml kubectl get pods -o wide