Understanding Kubernetes API

정다영·2023년 8월 27일
0

들어가며

  • Kubernetes API 탐색을 시작하기 전에 이 연습 예제는 API를 명령적으로 사용하는 방법을 보여줍니다. 즉, 명령을 수동으로 입력한다는 의미입니다.

  • 일반적으로 우리는 Kubernetes API로 선언적으로 작업하기를 원합니다. 즉, Kubernetes API가 원하는 상태를 이해하기 위해 읽는 간단한 파일을 만든 다음 현재 상태에서 해당 상태를 달성하려고 시도합니다.

  • Kubernetes API를 이해하기 위해 Hello World 애플리케이션을 배포하는 매우 간단한 예를 살펴보겠습니다.

  • 포트 8080의 로컬 IP에서 ping할 때 단순히 "Hello World"를 에코하는 컨테이너화된 애플리케이션을 만들었다고 상상해 보십시오.

  • ping이란 Paket Internet Groper의 약자이며 컴퓨터 네트워크 상태를 점검, 진단하는 명령어

예시

  • 레플리카(Replica)는 파드(Pod)의 복제본을 관리하는 역할
  • 레플리카의 주요 역할과 기능은 다음과 같습니다:
    1. 가용성과 복원성 보장: 레플리카는 파드의 복제본을 관리함으로써 애플리케이션의 가용성을 높이고 장애 발생 시에도 복제본을 통해 서비스의 지속성을 유지할 수 있습니다.
    2. 자동 스케일링: 레플리카 컨트롤러 또는 레플리카셋을 통해 파드의 수를 자동으로 스케일 업 또는 스케일 다운할 수 있습니다. 이를 통해 수요에 따라 애플리케이션의 리소스 사용을 조정할 수 있습니다.
    3. Desired State 유지: 레플리카 컨트롤러 또는 레플리카셋은 지정된 파드 개수를 유지하는데 중점을 두며, 원하는 상태를 지속적으로 유지하도록 노력합니다. 필요에 따라 파드의 생성, 수정 및 삭제를 관리합니다.
    4. 롤링 업데이트 및 롤백: 레플리카의 버전 업데이트를 통해 애플리케이션을 업데이트할 수 있으며, 롤링 업데이트와 롤백을 지원하여 서비스 중단 없이 버전을 변경할 수 있습니다.
    5. 모니터링 및 자동 복구: 레플리카 컨트롤러 또는 레플리카셋은 파드의 상태를 모니터링하고, 파드가 실패한 경우 자동으로 복구하거나 대체 파드를 생성하여 시스템 안정성을 유지합니다.

  • Kubernetes 클러스터 내의 Deployment를 외부로 노출시키는 작업을 수행하는 명령어
  • dbs라는 이름의 Deployment를 클러스터 외부로 노출시키며, 외부에서 80번 포트로 액세스할 수 있도록 하고, 이를 위해 클라우드 제공자의 로드 밸런서를 사용하여 트래픽을 분산시키는 설정을 생성합니다.
  • dbs Deployment에 있는 애플리케이션을 외부에서 접근 가능하게 만듭니다.

  • Kubernetes 클러스터 내의 Deployment 리소스를 편집하는 명령어
  • 추상화를 제공하고 모든 복제된 컨테이너화된 애플리케이션에 대한 single point of contact를 허용하는 서비스를 통해 노드 전체에 배포된 새 업데이트를 쉽게 롤아웃할 수 있으며 서비스가 자동으로 업데이트됩니다.
profile
My_Spielraum

0개의 댓글