OKE(Oracle Kubernetes Engine) K8S Cluster 배포
by Velucid ⏲ May 18, 2021
Topics
OCI OKE(Oracle Kubernetes Engine) 따라하기
내용 설명
OCI OKE(Oracle Kubernetes Engine)를 기반으로 K8S Cluster를 배포하는 과정을 보여드립니다.
먼저, 이해를 돕기위해, OCI에서 K8S Cluster를 배포하면서 자동으로 생성되는 OCI 리소스 및 네트워킹/보안 구조를 알아 봅니다.
OKE K8S Cluter 구조 및 네트워킹

OKE Cluster를 배포하면, OCI에서는 다음 3 개의 Subnet을 자동 생성하여 관리합니다.
- OKE-K8S Subnet : OKE Control Plane이 위치하는 Subnet입니다. Control Plane은 OCI가 직접 관리하며, 무료로 제공됩니다. 이는 타 CSP 대비 OCI가 제공하는 비용측면의 큰 강점 중 하나입니다. 사용자에게는 Control Plane 인스턴스를 볼 수 없도록 제한되어 있습니다. TCP(6443) 포트만이 K8S endpoint로서 외부로 열려있으며, 이를 통해서만 Cluster 관리가 가능합니다. Public Endpoint로 배포되는 경우, Internet Gateway를 통해 외부 네트워크를 통해 접근이 가능합니다.
- OKE-NODES Subnet : Worker Node가 위치하는 Subnet입니다. 실제 Container가 배포되고 관리됩니다. 보안을 위해 Private Subnet 설정이 권고되며, 단방향의 NAT Gateway를 통해 Container Image 및 S/W, 패치 등을 다운로드합니다. Service Gateway를 통해 OCI 서비스로의 안전한 접근이 가능합니다. OKE-K8S Subnet 및 자체 노드 간의 접근 경로 설정을 위한 route table과 Security List가 자동으로 설정되어 있습니다.
- OKE-LB Subbet : 사용자가 Load Balancer 형식의 Service를 배포하는 경우, OCI Load Balancer가 자동 배포되는 Subnet 입니다. Public Endpoint로 배포되는 경우, OCI Load Balancer을 경유하여, Internet Gateway를 통해 Container Application에 대한 직접적인 퍼블릭 망 서비스가 가능해집니다. OCI LB의 구성 및 Worker 노드와의 보안 연결은 Load Balancer Service가 배포되면서 자동으로 생성됩니다.
OCI는 K8S Cluster 관리에 필수적인 최소한의 보안 접근 경로만을 구성하여 안전하게 Cluster를 관리합니다.
1) Cluter 생성 시작
- OCI Kubernetes Clusters(aka OKE) 관리 화면으로 이동합니다.

- Create Cluster를 클릭합니다. ✔️

2) Quick Create 선택
Quick Create를 선택한 후, Launch Workflow를 클릭합니다. ✔️

- Quick Create: 클러스터에 필요한 리소스를 자동 생성(VCN, IG, NAT, SGW 등)
- Custom Create: 네트워크 리소스를 사전에 생성해야 함
3) Cluster 이름 및 속성 설정
Cluter 이름, 버전 및 API Endpoint 속성을 설정합니다. 외부 인터넷을 통해 Kubectl을 연결하기 위해서 Public endpoint를 선택합니다. ✔️
- K8S 클러스터 이름 설정
- 최신 K8S 버전 선택 (최신)
- Control Plane 네트워크 : Public Endpoint 선택 (퍼블릭망으로 제어 목적)
- Worker Node 네트워크: Private Workers 선택 (보안을 위해서 사설망으로 운영)

4) Worker Node의 Compute Shape 설정
- Compute Shape: 원하는 Compute Shape 선택 (본 예제에서는 가장 저렴한 모델 선택: AMD E4 Flex)
- Worker Node 갯수: 가용성을 고려한 최소 권장 노드수인 3 선택
- Next 클릭 ✔️

5) Cluster 설정 리뷰


- 설정 내용 리뷰 후 Create Cluster 클릭 ✔️
6) Cluster 생성 과정 모니터링
K8S Cluster를 위한 네트워크 리소스, 클러스터 및 노드 풀이 순차적으로 생성되기 까지 대기합니다.

7) Cluster 세부 사항 리뷰 및 필요 정보 보관
Kubectl 연결 및 외부 접근에 필요한 다음 정보를 보관합니다.
- Cluster ID
- K8S API Public Endpoint

8) Worker Node 정보 확인
Cluster Details 페이지의 하단에서 Node Pool(Worker Nodes)도 확인 가능합니다.

9) Security List 정보 확인
Cluster Detail > VCN Deails > Security Lists를 통해 자동으로 생성된 각 Subnet의 Security List 들을 확인 할 수 있습니다.
- 다음은 OKE-NODES Subnet에 설정된 Egress 룰의 내용을 보여줍니다.

참고 자료