1. OKE Managed Nodes 사용하기
본 문서에서는 Docker, Kubernetes 등 컨테이너 관련 기본 지식이 있다는 전제하에, OKE(Oracle Container for Kubernetes)를 시작할 때 참고할 만한 내용을 설명하고자합니다.
OCI Kubernetes Engine는 OCI에서 제공하는 관리형 쿠버네티스 서비스 입니다. 줄여서 OKE라고 부며 CNCF 인증된 Kubernetes 버전을 사용하고 있습니다.
Kubernetes Cluster
쿠버네티스 클러스터는 노드의 그룹으로 구성되어 있습니다. 각 노드는 물리 머신 또는 가상 머신으로 이루어 지며, 클러스터는 크게 두 개의 노드 형태로 이루어져 있습니다.
- Control Plane Nodes: 이전에는 Master Node라고 얘기하였습니다. 애플리케이션 컨테이너 Pod를 Worker Nodes에 실행하고 관리하는 것이 주요 역할로, 가용성을 위해 OKE에서는 3중화하고 있습니다.
- Data Plane Nodes / Worker Nodes: 애플리케이션 컨테이너 Pod가 실행되는 노드입니다. Node Pools로 구성되어 있으며, 각 Node Pool은 동일한 Shape의 Worker Node들로 구성되어 있습니다.
OKE 서비스 종류
- OKE with Self-Managed Nodes
- OCI가 Control Planes을 관리합니다. 사용자가 Data Plane을 직접 셋업하고 관리합니다.
- 사용자가 Data Plane, 즉 Worker Node를 직접 셋업하기 때문에, 노드에 대한 커스터마이징을 최대한 할 수 있습니다.
- OKE with Managed Nodes
- OCI가 Control Planes을 관리합니다. 또한 Data Plane을 셋업합니다. 사용자는 Data Plane을 관리합니다.
- Worker Node 생성은 OCI가 수행합니다. cloud-init 또는 베이스 Worker Nodes 이미지를 커스터마이징을 통해 노드 커스터마이징을 수행할 수 있습니다.
- Worker Node에 SSH 로 접속하여, 필요한 작업을 수행할 수 있습니다.
- Serverless OKE
- OCI가 Control Planes 및 Data Plane을 셋업하고 관리합니다. Data Plane은 Virtual Nodes라는 가상노드를 통해 관리합니다.
- Worker Node는 가상화 노드 형태이고 Pod들을 내부적으로 Container Instance, VM 형태로 기동됩니다. Worker Nodes 실제 존재한다기 보다는 논리적인인 가상 노드이기 때문에 직접 SSH로 접속할 수 없으며, Daemon Set 등 일부 쿠버네티스 오브젝트 유형에 대해서 지원하지 않는 부분이 있기 때문에 사전에 확인이 필요합니다.
클라우드 서비스 제공자가 제공하는 일반적인 쿠버네티스 서비스는 OKE with Managed Nodes입니다. 이를 중심으로 설명을 진행하고 자 합니다.
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.