DevOps/Kubernetes

[ 쿠버네티스 입문: 90가지 예제로 배우는 컨테이너 관리 자동화 표준 ] 3. 쿠버네티스로 컨테이너 실행하기

noahkim_ 2021. 7. 21. 10:20

3.1 kubectl

 

클러스터를 명령으로 관리 및 동작 가능

(자원 생성, 업데이트, 삭제, 디버깅, 모니터링, 트러블슈팅, 클러스터 관리.. )

 

  1. 설치
  2. 기본사용법

- Service 

Kubernetes : kube-apiserver 관련 파드를 가리킴

 

- 명령어

Port-forward : 로컬 컴퓨터와 service를 포트포워딩하는 명령어

Logs : 해당 서비스의 로그 수집

 

3. POSIX/GNU 스타일의 명령 작성 규칙

-n(—namespace) : 네임스페이스 지정

'exec my-pod' : my-pod라는 이름의 파드에 해당 명령을 실행하기(인자 주기)

'-c my-container' : 컨테이너 지정

 

4. 플래그

 

5. Kubeconfig 환경변수
kubectl 기본적으로 $HOME/.kube/config 파일에서 클러스터, 인증, 컨텍스트 정보를 읽어들임.

이러한 클러스터 구성 정보를 kubeconfig 부름
‘kubectl api-resources’ 확인 가능.

 

6.자동완성

 

3.2 디플로이먼트를 이용해 컨테이너 실행하기

 

  1. Kubectl run으로 컨테이너 실행하기
    ‘kubectl run 디플로이먼트 이름 —image 컨테이너이미지 이름 —port=포트번호’
    ‘kubectl scale deploy nginx-app —replicas=2’ : 디플로이먼트의 파드 수 늘리기
  2. 템플릿으로 컨테이너 실행하기

 

‘Kubectl apply -f nginx-app.yaml’

 

3.3 클러스터 외부에서 클러스터 안 앱에 접근하기

 

쿠버네티스 내부의 컨테이너는 외부와 격리되어있음.

내부에서 실행한 컨테이너를 외부에서 접근하려면 ‘서비스’를 이용해야 함.

 

‘Kubectl expose deployment 컨테이너이름 --type= ?’

 

타입은 NodePort, ClusterIP, LoadBalancer, ExteralName이 있음