TheKoguryo's 기술 블로그

 Version 2024.04.01

1. OKE Managed Nodes 사용하기

본 문서에서는 Docker, Kubernetes 등 컨테이너 관련 기본 지식이 있다는 전제하에, OKE(Oracle Container for Kubernetes)를 시작할 때 참고할 만한 내용을 설명하고자합니다.

Oracle Container Engine for Kubernetes는 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입니다. 이를 중심으로 설명을 진행하고 자 합니다.



이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.

Last updated on 7 Jan 2024