본문 바로가기
Kubernetes(k8s)/따배쿠(따라하면서 배우는 쿠버네티스) 학습

[k8s]kubectl실습(command, pod 생성)

by 열정주니어 2023. 2. 8.
반응형

command 살펴보기

  • command 정보
    • kubectl --help
      • command 정보 표시
    • kubectl [command] --help
      • 해당 command 설명
      • 예시 및 옵션 정보 또한 제공
  • object 정보
    • kubectl api-resources
      • object 정보(목록, 약어 등) 표시
  • 노드 정보
    • kubectl get nodes
      • 노드 정보
    • kubectl get nodes -o wide
      • 노드 정보 상세히
    • kubectl describe node [name]
      • 해당 노드의 더욱 상세한 정보

 

여러 방법으로 nginix pod 생성하기

run으로 pod 생성

  • pod 생성
    • kubectl run webserver --image=nginx:1.14 --port 80
      • run은 컨테이너 하드를 만드는 command
      • webserver라는 이름의 pod 생성
      • nginx:1.14의 도커 이미지 다운로드
      • 포트 80번 연결
  • pod 생성 확인
    • kubectl get pods
    • kubectl get pods -o wide 
    • kubectl describe pod webserver
  • pod 정보 다양한 형태로 확인
    • kubectl get pod webserver -o yaml
    • kubectl get pod webserver -o json
  • web server 동작 확인
    • curl 10.44.0.1
      • curl은 command 형식의 웹 브라우저
  • web server 이름 바꾸기
    • 컨테이너에 접속
      • kubectl exec webserver -it -- /bin/bash
        • exec는 실행하는 command
    • 컨테이너 안에서 index.html 파일을 찾아 제목 수정
      • cd /usr/share/nginx/html/
      • cat index.html
      • echo "SMLEE web" > index.html
      • exit
    • 컨테이너에서 나와 web server 접속하여 이름 확인
      • curl 10.44.0.1
  • webserver 로그 확인
    • kubectl logs webserver
  • webserver 포트 포워딩
    • kubectl port-forward webserver 8080:80

create으로 deployment 생성

  • deployment 생성 
    • kubectl create deployment mainui --image=httpd:latest --replicas=3
      • create deployment는 컨테이너 하드를 여러 개 생성하는 command
      • mainui라는 이름의 deployment 생성
      • replicas는 hpptd라는 웹 서버 3개 실행을 요청하는 옵션
  • deployment 생성 확인
    • kubectl get deployments.apps
    • kubectl get deployments.apps-o wide
    • kubectl describe deployments.apps mainui
  • pod 생성 확인
    • kubectl get pods
    • kubectl get pods -o wide 
  • main ui pod 중 하나의 pod web server 동작 확인
    • curl 10.36.0.1
  • 컨테이너 하드 개수 조절하기
    • kubectl edit deployments.apps mainui
      • edit command는 동작 중인 api 리소스를 수정할때 사용
      • vi에디터에서 replicas 수정

 

yaml파일로 pod 생성

  • yaml파일 생성
    • kubectl run webserver --image=nginx:1.14 --port 80 --dry-run -o yaml > webserver-pod.yaml
      • webserver pod는 이미 존재하므로 kubectl run webserver --image=nginx:1.14 --port 80 실행 x
      • --dry-run로 실행이 되는지 안되는지 체크
      • --dry-run -o yaml로 실행할 수 있는 상태를 yaml 포맷으로 표기
      • --dry-run -o yaml > webserver-pod.yaml로 yaml파일로 저장

  • webserver pod 삭제 
    • kubectl delete pod webserver

  • yaml파일로 pod 생성
    • kubectl create -f webserver-pod.yaml

  • pod 생성 확인
    • kubectl get pods

Reference

따배쿠5강

 

반응형