VCN 생성은 아래 포스트를 참고하여 생성합니다. 여기서는 VCN 이름을 my-vcn
으로 지정하여 생성하도록 하겠습니다.
OCI에서 VCN Wizard를 활용하여 빠르게 VCN 생성하기
VCN을 자동으로 생성하면, 기본적으로 2개의 서브넷 (Private, Public)과 2개의 보안 목록(Private 용도와 Public 용도)이 자동으로 생성됩니다. 여기서는 기본으로 생성되는 서브넷과 보안 목록을 활용하여 구성합니다.
아래는 기본으로 생성된 서브넷과 CIDR 블록이며, API Endpoint와 Worker Node를 다음과 같이 구성하도록 하겠습니다.
Name | CIDR Block | Description |
---|---|---|
공용 서브넷-my-vcn | 10.0.0.0/24 | API Endpoint를 위한 서브넷 |
전용 서브넷-my-vcn | 10.0.1.0/24 | Worker Node를 위한 서브넷 |
앞서 생성한 VCN (my-vcn)을 선택하고 왼쪽 리소스 메뉴에서 보안 목록(Security Lists) 선택 > Default Security List for my-vcn 선택 후, 대화창에서 다른 수신 규칙(Another Ingress Rule)을 클릭하여 수신 규칙(Ingress Rule)을, 다른 송신 규칙(Another Egress Rule)을 클릭하여 송신 규칙(Egress Rule)을 입력합니다.
Security List Name | Rule Type | State | Source | Protocol/Dest. Port | Type and Code | Description |
---|---|---|---|---|---|---|
Default Security List for my-vcn | Ingress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | TCP/6443 | Kubernetes worker to Kubernetes API endpoint communication. | |
Default Security List for my-vcn | Ingress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | TCP/12250 | Kubernetes worker to control plane communication. | |
Default Security List for my-vcn | Ingress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | ICMP | Type: 3, Code: 4 | Path Discovery. |
Default Security List for my-vcn | Ingress | Stateful | 0.0.0.0/0 | TCP/6443 | External access (Internet) to Kubernetes API endpoint. |
Security List Name | Rule Type | State | Destination | Protocol/Dest. Port | Type and Code | Description |
---|---|---|---|---|---|---|
Default Security List for my-vcn | Egress | Stateful | All {region} Services In Oracle Services Network (기본 생성된 서비스 게이트웨이) | TCP/ALL | Allow Kubernetes API endpoint to communicate with OKE. | |
Default Security List for my-vcn | Egress | Stateful | All {region} Services In Oracle Services Network (기본 생성된 서비스 게이트웨이) | ICMP | Type: 3, Code: 4 | Path Discovery. |
Default Security List for my-vcn | Egress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | TCP/ALL | Allow Kubernetes API endpoint to communicate with worker nodes. | |
Default Security List for my-vcn | Egress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | ICMP | Type: 3, Code: 4 | Path Discovery. |
앞서 생성한 VCN (my-vcn)을 선택하고 왼쪽 리소스 메뉴에서 보안 목록(Security Lists) 선택 > 전용 서브넷-my-vcn의 보안 목록 선택 후, 대화창에서 다른 수신 규칙(Another Ingress Rule)을 클릭하여 수신 규칙(Ingress Rule)을, 다른 송신 규칙(Another Egress Rule)을 클릭하여 송신 규칙(Egress Rule)을 입력합니다.
Security List Name | Rule Type | State | Source | Protocol/Dest. Port | Type and Code | Description |
---|---|---|---|---|---|---|
전용 서브넷-my-vcn의 보안 목록 | Ingress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | ALL/ALL | Allow pods on one worker node to communicate with pods on other worker nodes. | |
전용 서브넷-my-vcn의 보안 목록 | Ingress | Stateful | 10.0.0.0/24 (Kubernetes API Endpoint CIDR) | TCP/ALL | Allow Kubernetes control plane to communicate with worker nodes. | |
전용 서브넷-my-vcn의 보안 목록 | Ingress | Stateful | 0.0.0.0/0 | ICMP | Type: 3, Code: 4 | Path Discovery. |
Security List Name | Rule Type | State | Destination | Protocol/Dest. Port | Type and Code | Description |
---|---|---|---|---|---|---|
전용 서브넷-my-vcn의 보안 목록 | Egress | Stateful | 10.0.1.0/24 (Worker Nodes CIDR) | ALL/ALL | Allow pods on one worker node to communicate with pods on other worker nodes. | |
전용 서브넷-my-vcn의 보안 목록 | Egress | Stateful | 0.0.0.0/0 | ICMP | Type: 3, Code: 4 | Path Discovery. |
전용 서브넷-my-vcn의 보안 목록 | Egress | Stateful | All {region} Services In Oracle Services Network (기본 생성된 서비스 게이트웨이) | TCP/ALL | Allow worker nodes to communicate with OKE. | |
전용 서브넷-my-vcn의 보안 목록 | Egress | Stateful | 10.0.0.0/24 | TCP/6443 | Kubernetes worker to Kubernetes API endpoint communication. | |
전용 서브넷-my-vcn의 보안 목록 | Egress | Stateful | 10.0.0.0/24 | TCP/12250 | Kubernetes worker to control plane communication. |
이제 OKE Cluster를 생성합니다. OCI Console 왼쪽 상단 메뉴 버튼을 클릭한 후 개발자 서비스(Developer Services) > Kubernetes 클러스터(OKE) (Kubernetes Clusters (OKE))를 차례로 선택합니다.
클러스터 생성(Create Cluster) 버튼을 클릭한 후 사용자정의 생성(Custom Create)를 선택하고 제출(Submit) 버튼을 클릭합니다.
클러스터 정보를 다음과 같이 입력/선택 합니다.
네트워크 설정에서는 다음과 같이 구성합니다.
노드 풀을 다음과 같이 설정합니다.
마지막으로 모든 설정을 검토하고 클러스터 생성(Craete Cluster) 버튼을 클릭하여 클러스터를 생성합니다.
OKE Cluster가 생성되고 노드풀에 3개의 노드가 모두 활성 상태인 것을 확인할 수 있습니다.
OKE Cluster에 접속하는 방법은 다음 포스팅을 참고합니다.
OCI Container Engine for Kubernetes (OKE) Cluster 접속 방법
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim CLOUDNATIVE
oci kubernetes oke cni flannel