1. 개요


2. 사용자

BOSH 사용 : PKS CLI나 PKS Control Plane 사용

kubectl 사용 : Kubernetes의 CLI 사용


3. PKS Control Plane

3.1. 역할

PKS를 통해 배포한 클러스터의 수명 주기 관리

3.2. PKS CLI 기능

  • 클러스터 Plan 확인
  • 클러스터 생성
  • 클러스터 확장
  • 클러스터 삭제
  • 클러스터 정보 확인
  • 클러스터에 워크로드 배포를 위한 Credential 획득
  • NSX-T를 위한 네트워크 프로파일 생성 및 관리

3.3. PKS Control Plane 구조

  • PKS API 서버
  • PKS 브로커
  • UAA (User Account and Authentication) 서버

4. PKS API

사용자는 PKS API를 통해 클러스터를 배포, 확장, 삭제하고 클러스터의 세부 정보와 Plan을 확인할 수 있다.

PKS API는 클러스터의 Credential을 로컬의 kubeconfig 파일에 기록할 수 있는데 이는 사용자가 kubectl을 통해 클러스터에 연결하는데 사용된다.


5. PKS 브로커

만약 PKS API가 클러스터의 변경에 대한 요청을 받으면 PKS Broker에게 수행하도록 지시한다.

PKS 브로커는 온디맨드 서비스 브로커와 서비스 어댑터로 구성된다. PKS 브로커는 BOSH Manifest를 생성하고 BOSH 디렉터에게 클러스터를 배포하거나 삭제하도록 지시한다.

NSX-T를 사용하는 vSphere 상에서의 PKS 배포를 위해서는 PKS NSX-T 프락시 브로커라는 추가 컴포넌트가 있다. PKS API는 PKS NSX-T 프록시 브로커와 통신하는데 이 노드는 NSX 매니저와 통신하여 노드 네트워킹 리소스를  생성한다. 그런 다음 PKS NSX-T 브로커는 요청을 온디맨드 서비스 브로커에게 전달하여 클러스터를 배포하게 한다.


6. UAA

사용자가 PKS CLI를 통해 PKS API에 로그인하거나 로그아웃할 때 PKS API는 UAA를 통해 인증한다. PKS API는 인가된 사용자만 클러스터를 관리할 수 있도록 허가한다. 

 


7. Credhub

Credhub는 중앙 집중식 크레덴셜 관리를 위한 기능이다. REST API와 CLI로 구성되어 있다.

배포 방식은 다음과 같다.

  • BOSH Director VM에 배포 : 고가용성을 제공하지는 않는다. BOSH Director, Credhub, UAA 등이 동일 VM에 설치된다.
  • 서비스로 독립적으로 배포 : 하나 이상의 VM을 통해 독립적으로 구성한다.

8. 주요 커맨드

pks login -k -a [API서버] -u [계정] -p [패스워드]
pks clusters
pks create-cluster [클러스터명] -e [DNS명] -p medium
pks cluster [클러스터명]
watch pks cluster [클러스터명]