본문 바로가기

IT

쿠버네티스 kubernetes 기본 명령어

 

1)    생성한 노드 기본정보 확인하기

kubectl get nodes

 

2)  생성한 노드 자세한 정보 확인하기

kubectl get nodes -o wide

 

3) 특정 지은 노드 full 정보 확인하기

kubectl describe node master

 

4) 파드 기본 조건 지정 및 생성하기 

 

kubectl run webserver --image=nginx:1.14 --port 80

 

5) curl pod의 ip주소

curl #ip주소

 

6) 생성한 파드 웹서버 내부의 html 파일로 이동하기

kubectl exec webserver –it -- /bin/bash
ls
cd /usr/share/nginx/html/
cat index.html

 

7) echo 명령어로 인덱스 파일 수정하기

echo “MY WEBSERVER” > index.html

 

8) 파드 삭제하기

kubectl delete pod webserver

 

10) deployment 로 파드 생성하기

kubectl create deployment web-deploy --image=httpd --replicas=3

11) deployment 확인하기

kubectl get deployments.apps

 

12) relicas 로 설정해둔 pods 개수 확인하기

kubectl get pods

 

13) 특정해둔 delpoy 의 파드 확인하기

kubectl get pod web-deploy-id -o wide

 

14) vi 편집기의 replicas 수 3->5 로 변경 후 pods 의 개수가 늘어난 것을 확인

kubectl edit deployments.apps

 

 

15) 네임스페이스 생성하기 

 

kubectl create namespace #yournamespace --dry-run -o yaml > #yournamespace-ns.yaml
kubectl create -f #yournamespace-ns.yaml

 

16) 네임스페이스 확인하기

kubectl get namespaces

 

17) yaml 파일 생성

apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: myname
spec:
  containers:
   - image: nginx:1.14
     name: nginx
     ports:

 

18) 편집기로 가서 네임스페이스 변경

kubectl create -f nginx.yaml
kubectl get pods
vi nginx.yaml

 

19) 변경 사항 적용 시킨 후 해당 네임서버를 가지고 있는 pod 정보 확인

kubectl apply -f nginx.yaml
kubectl get pods –n myname

 

 

20) 모두 삭제 하기

 

kubectl delete pod,svc --all
kubectl delete replicaset,svc --all
kubectl delete deployment,svc --all

 

 

21) 웹 파드 생성 뒤 yaml 형식으로 가져오기

 

kubectl run web --image=nginx:1.14 --port=80
kubectl get pods web -o yaml

 

22) 가져온 yaml 참고해서 파일 만들어 파드 생성

apiVersion: v1
kind: Pod
metadata:
  name: web2
spec:
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80
      protocol: TCP

 

 

23) 단일 컨테이너 파드들의 로그 가져오기

kubectl logs #podname

 

24) 멀티 컨테이너 파드 생성하기

apiVersion: v1
kind: Pod
metadata:
  name: multi
spec:
  containers:
  - name: nginx-container
    image: nginx:1.14
    ports:
    - containerPort: 80
  - name: centos-container
    image: centos:7
    command:
    - sleep
    - "10000"

 

25) 멀티 컨테이너 내부 특정 컨테이너 로그 가져오기

kubectl logs multi -c nginx-container

 

26) 파드 status 실시간 확인하기

kubectl get pods -o wide --watch

 

27) 셀프 힐링 yaml 생성하기

 

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-healing
spec:
  containers:
   - name: nginx-container
     image: nginx:1.14
     ports:
     - containerPort: 80
       protocol: TCP
     livenessProbe:
       httpGet:
         path: /
         port: 80

 

28) 셀프 힐링 변수 확인하기

kubectl describe pod nginx-pod-healing
kubectl get pod nginx-pod-healing -o yaml

 

 

29) 셀프 힐링 yaml 실험하기

일정 시간 후 500 오류 서버 생기는 이미지

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod-healing
spec:
  containers:
   - name: unhealthy-container
     image: smlinux/unhealthy
     ports:
     - containerPort: 8080
       protocol: TCP
     livenessProbe:
       httpGet:
         path: /
         port: 8080

 

30) 셀프 힐링 yaml 실험확인

kubectl describe pod nginx-pod-healing
# events 확인

 

https://cloudbim.tistory.com/41

 

쿠버네티스 kubernetes 컨트롤러 명령어

https://cloudbim.tistory.com/35 쿠버네티스 kubernetes 기본 명령어 1) 생성한 노드 기본정보 확인하기 kubectl get nodes 2)  생성한 노드 자세한 정보 확인하기 kubectl get nodes -o wide 3) 특정 지은 노..

cloudbim.tistory.com