클라우드에서 Kubernetes 토폴로지 설계 방법 학습
Oracle Cloud Infrastructure Container Engine for Kubernetes 는 클라우드의 Kubernetes 클러스터에 컨테이너화된 응용 프로그램을 배치하는 데 사용할 수 있는 관리되는, 확장 가능한 고가용성 서비스입니다.
구조
클라우드에 있는 Kubernetes 기반 토폴로지의 아키텍처는 공용 인터넷, 노드 풀의 크기 및 수, 작업 부하의 내결함성 요구 사항과 같은 요인에 따라 달라집니다.
다음 다이어그램은 여러 가용성 도메인을 포함하는 Oracle Cloud Infrastructure 영역의 Kubernetes 클러스터 참조 구조를 보여줍니다.

- VCN(가상 클라우드 네트워크): 토폴로지의 모든 리소스가 단일 VCN에 있습니다.
- 서브넷:
이 구조의 VCN 에는 네 개의 서브넷(두 개의 공용 및 두 개의 전용) 이 포함되어 있습니다. 공용 서브넷 중 하나는 기본 호스트용입니다. 다른 서브넷은 인터넷 연결 로드 밸런서용입니다. 두 개의 개인 서브넷 중 하나는 Kubernetes 클러스터를 관리하는 데 필요한 도구를 포함하는 관리 호스트용입니다. 다른 전용 서브넷은 Kubernetes 클러스터의 노드에 해당합니다.
모든 서브넷은 지역별 서브넷입니다. 즉, 영역 내 모든 가용성 도메인에 걸쳐 있으며 구조 다이어그램에서 AD1, AD2 및 AD3로 축약됩니다. 따라서 availability-domain 실패로부터 보호됩니다. 영역의 모든 가용성 도메인에 배치할 리소스에 대해 서브넷을 사용할 수 있습니다.
- 네트워크 게이트웨이
- 서비스 게이트웨이(선택사항)
서비스 게이트웨이를 사용하면 VCN의 리소스가 공용 인터넷에 트래픽을 노출하지 않고 Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure File Storage, Oracle Cloud Infrastructure Database 등의 Oracle 서비스에 액세스할 수 있습니다. 서비스 게이트웨이를 통한 연결은 VCN 내 리소스에서 시작할 수 있으며 리소스가 통신하는 서비스에서는 시작할 수 없습니다.
- NAT 게이트웨이(선택사항)
NAT 게이트웨이를 사용하면 VCN의 전용 서브넷에 연결된 컴퓨트 인스턴스가 공용 인터넷에 액세스할 수 있습니다. NAT 게이트웨이를 통한 연결은 공용 인터넷이 아닌 VCN 내의 리소스에서 시작할 수 있습니다.
- 인터넷 게이트웨이
인터넷 게이트웨이를 사용하면 VCN 내 공용 서브넷의 모든 리소스와 공용 인터넷 간의 연결이 가능합니다.
- 서비스 게이트웨이(선택사항)
- 배스턴 호스트(선택사항)
기본 호스트는 클라우드 외부 토폴로지의 시작점으로 사용되는 컴퓨트 인스턴스입니다.
기본 호스트는 일반적으로 DMZ에 프로비전됩니다. 이를 통해 클라우드 외부에서 직접 액세스할 수 없는 전용 네트워크에 배치하는 방식으로 중요한 리소스를 보호할 수 있습니다. 정기적으로 감사할 수 있는 알려진 단일 시작점을 표시합니다. 따라서 토폴로지에 대한 액세스 권한 없이 토폴로지에 더 많은 중요한 구성 요소를 표시하지 않습니다.
샘플 토폴로지의 기본 호스트가 공용 서브넷에 연결되고 공용 IP 주소가 있습니다. 수신 보안 규칙은 공용 인터넷에서 기본 호스트에 대한 SSH 접속을 허용하도록 구성됩니다. 추가 보안 레벨을 제공하기 위해 특정 IP 주소 블록에서만 기본 호스트에 대한 SSH 액세스를 제한할 수 있습니다.
기본 호스트를 통해 전용 서브넷의 Oracle Cloud Infrastructure 인스턴스에 액세스할 수 있습니다. 이렇게 하려면 기본 호스트에 접속한 다음 컴퓨터에서 인증서를 전달하여 다음 서버에 액세스할 수 있도록
ssh-agent
전달을 사용으로 설정합니다. 동적 SSH 터널링을 사용하여 전용 서브넷의 인스턴스에 액세스할 수도 있습니다. 동적 터널은 로컬 포트에 SOCKS 프록시를 제공하지만 이 접속은 원격 호스트에서 시작됩니다. - 로드 밸런서 노드:
로드 밸런서 노드는 컨테이너화된 응용 프로그램을 실행하는 사용 가능한 Kubernetes 노드에 트래픽을 가로채고 분배합니다. 공용 인터넷에서 애플리케이션에 액세스할 수 있어야 하는 경우 공용 로드 밸런서를 사용합니다. 그렇지 않은 경우 공용 IP 주소가 없는 전용 로드 밸런서를 사용합니다. 아키텍처는 각각 고유 가용성 도메인에 있는 두 개의 로드 밸런서 노드를 보여줍니다.
- 관리 호스트(선택사항):
관리 호스트를 사용하면 클라우드 외부에 있는
kubectl
,helm
, Oracle Cloud Infrastructure CLI와 같은 기반 구조 관리 툴 설치 및 실행을 방지할 수 있습니다. 참조 구조에서 관리 호스트는 전용 서브넷에 있으며 기본 호스트를 통해 액세스할 수 있습니다. 관리 호스트에서 Oracle Cloud Infrastructure CLI를 실행할 수 있으려면 인스턴스 주체로 지정해야 합니다. - Kubernetes 작업자 노드:
Kubernetes 작업자 노드는 컨테이너화된 응용 프로그램을 배치할 수 있는 컴퓨트 인스턴스입니다. 이 참조 구조에 있는 모든 작업자 노드가 단일 노드 풀에 있으며 전용 서브넷에 첨부됩니다. 필요한 경우 여러 노드 풀을 만들 수 있습니다.
참조 구조에 있는 작업자 노드는 공용 인터넷에서 직접 액세스할 수 없습니다. 컨테이너화된 응용 프로그램의 사용자는 로드 밸런서를 통해 액세스할 수 있습니다. 관리자는 기본 호스트를 통해 작업자 노드에 액세스할 수 있습니다.
이 구조에는 세 개의 작업자 노드가 표시되는데 각 노드는 영역 내 고유한 가용성 도메인(AD1, AD2 및 AD3) 에 표시됩니다. Kubernetes 마스터 노드는 Oracle의 테넌시에서 실행되며 표시되지 않습니다.
컨테이너화된 응용 프로그램을 배치할 영역에 단일 가용성 도메인이 포함된 경우 다음 구조에 표시된 대로 작업자 노드가 가용성 도메인 내의 FD(오류 도메인) 에 분산됩니다.

필수 서비스 및 권한 정보
이 솔루션은 다음 서비스 및 권한을 필요로 합니다.
서비스 | 권한 필요 |
---|---|
Oracle Cloud Infrastructure Identity and Access Management | 동적 그룹 및 정책을 관리합니다. |
Oracle Cloud Infrastructure Networking | Vcn, 서브넷, 인터넷 게이트웨이, NAT 게이트웨이, 서비스 게이트웨이, 경로 테이블 및 보안 목록을 관리합니다. |
Oracle Cloud Infrastructure Compute | 컴퓨트 인스턴스를 관리합니다. |
Oracle Cloud Infrastructure Container Engine for Kubernetes | 클러스터 및 노드 풀을 관리합니다.
클러스터 생성 및 배치를 위한 정책 구성 을 참조하십시오. |