데브옵스(DevOps)를 위한 쿠버네티스 마스터/쿠버네티스 들어가기

Go 언어로 작성한 컨테이너 쿠버네티스에 올리기

webmaster 2022. 7. 9. 11:57
728x90
  • 보통 배포하려는 모든 컴포넌트의 설명이 기술된 JSON 또는 YAML 매니페스트를 준비 필요 
  • 이를 위해서는 쿠버 네티스에서 사용되는 컴포넌트 유형을 잘 알아야 함 
  • 여기서는 명령어에 몇 가지 옵션으로 디스크립션을 간단히 전달하여 한 줄로 앱을 실행
    • kubectl create deploy http-go --image=gasbugs/http-go

파드(pod)란?

  • 쿠버네티스는 kubectl get container와 같이 컨테이너를 취급하지 않는다!
  • 대신 여러 위치에 배치된 컨테이너 개념인 컨테이너 그룹을 파드(Pod)라는 개념을 사용
    • 여러 개의 컨테이너가 하나의 네트워크를 공유한다.
  • 파드의 특징
    • 파드는 하나 이상의 밀접하게 관련된 컨테이너로 구성된 그룹 
    • 동일한 리눅스 네임스페이스와 동일한 워커 노드에서 항상 함께 실행 
    • 각 파드는 애플리케이션을 실행하는 자체 IP, 호스트 이름, 프로세스 등이 있는 별도의 논리적 시스템
  • kubectl get pods 
    • 해당 명령어로 확인할 수 있다.

실습 하기

1) pod 검색

kubectl get pod

2) pod 올리기

kubectl create deploy http-go --image=widn45/http-go #이미지 create

pod 보기

  • 쿠버 네티스는 deployment - replicaset - pod 형태로 구성이 되어 있다
    • deployment는 다수의 replicaset을, replicaset은 다수의 pod를 구성할 수 있게 된다.
    • 왜 이렇게 구성했냐 -> 역할이 다르다.
      • deployment : Update 관리(실제 가상 머신, 컨테이너가 뜨지 않고, 추상화된 개념이다)
      • replicaset : pod을 갯수를 유지한다.
      • pod : 위에 설명

 

728x90