Kubernetes 클러스터에 Oracle WebLogic Server 배치
구조
이 참조 아키텍처는 Oracle SOA 도메인과 OCI Kubernetes Engine을 사용하여 Oracle Cloud에서 프로비저닝된 Kubernetes 클러스터에 배포된 선택적 Oracle Service Bus(OSB) 도메인을 보여줍니다. 이 서비스를 사용하면 Kubernetes 클러스터를 손쉽게 생성하고 로드 밸런서, 블록 스토리지, 네트워킹과 같은 필수 서비스를 제공할 수 있습니다.
다음 다이어그램은 이 참조 아키텍처를 보여 줍니다.

그림 soa-oke.png에 대한 설명
구조에는 다음과 같은 구성 요소가 있습니다.
- 지역
Oracle Cloud Infrastructure 리전은 가용성 도메인이라고 하는 데이터 센터가 하나 이상 포함된 지역화된 지리적 영역입니다. 지역은 다른 지역과 독립적이며, 먼 거리가 그들을 분리 할 수 있습니다 (국가 또는 대륙에 걸쳐).
- 가용성 도메인
가용성 도메인은 한 지역 내의 독립형 독립 데이터 센터입니다. 각 가용성 도메인의 물리적 리소스는 결함 허용을 제공하는 다른 가용성 도메인의 리소스와 격리됩니다. 가용성 도메인은 전원, 냉각 또는 내부 가용성 도메인 네트워크와 같은 인프라를 공유하지 않습니다. 따라서 한 가용성 도메인의 장애가 해당 영역의 다른 가용성 도메인에 영향을 미치지 않아야 합니다.
- 결함 도메인
장애 도메인은 가용성 도메인 내의 하드웨어 및 인프라 그룹입니다. 가용성 도메인에는 독립적인 전원 및 하드웨어를 갖춘 3개의 장애 도메인이 있습니다. 여러 결함 도메인에 리소스를 분배할 때 응용 프로그램은 결함 도메인 내의 물리적 서버 오류, 시스템 유지 관리 및 전원 오류를 허용할 수 있습니다.
- VCN(가상 클라우드 네트워크) 및 서브넷
VCN은 Oracle Cloud Infrastructure 지역에서 설정한 맞춤형 소프트웨어 정의 네트워크입니다. 기존의 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 CIDR 블록이 여러 개 있을 수 있습니다. VCN을 서브넷으로 분할할 수 있습니다. 서브넷은 지역 또는 가용성 도메인으로 범위가 지정될 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 연속적인 주소 범위로 구성됩니다. 서브넷 생성 후 크기를 변경할 수 있습니다. 서브넷은 공용 또는 전용일 수 있습니다.
- 로드 밸런서
Oracle Cloud Infrastructure Load Balancing 서비스는 VCN에서 접근할 수 있는 하나의 시작점에서 여러 서버로 트래픽을 자동으로 배포합니다.
- 파일 스토리지
Oracle Cloud Infrastructure File Storage 서비스는 지속성, 확장성, 보안성이 뛰어난 엔터프라이즈급 네트워크 파일 시스템을 제공합니다. VCN의 베어 메탈, 가상 시스템 또는 컨테이너 인스턴스에서 파일 스토리지 서비스 파일 시스템에 연결할 수 있습니다. Oracle Cloud Infrastructure FastConnect 및 IPSec VPN을 사용하여 VCN 외부에서 파일 시스템에 액세스할 수도 있습니다. 파일 스토리지 서비스는 SOA 도메인 아티팩트를 저장할 영구 볼륨을 생성하는 데 사용됩니다.
- Kubernetes Engine
Oracle Cloud Infrastructure Kubernetes Engine(OCI Kubernetes Engine 또는 OKE)는 컨테이너화된 애플리케이션을 클라우드에 배포하는 데 사용할 수 있는 확장 가능한 고가용성 완전 관리형 서비스입니다. 애플리케이션에 필요한 컴퓨트 리소스를 지정하면 Kubernetes Engine이 기존 테넌시의 Oracle Cloud Infrastructure에서 프로비저닝합니다. OKE는 Kubernetes를 사용하여 호스트 클러스터 전반에서 컨테이너화된 애플리케이션의 배포, 확장 및 관리를 자동화합니다.
- SOA 도메인
SOA 도메인은 관련 애플리케이션 및 리소스 그룹이며 이를 실행하는 데 필요한 구성 정보입니다. 도메인에는 클러스터화, 클러스터화되지 않은 SOA 인스턴스 또는 클러스터화 및 클러스터화되지 않은 SOA 인스턴스가 하나 이상 포함됩니다. 도메인은 여러 클러스터를 포함할 수 있습니다.
- SOA 및 (선택 사항) Oracle Service Bus 클러스터
클러스터는 특정 SOA 도메인의 일부입니다. 클러스터는 동시에 실행되고 함께 작동하여 향상된 확장성 및 신뢰성을 제공하는 여러 SOA 인스턴스로 구성됩니다.
SOA 클러스터는 Kubernetes 클러스터와 다릅니다. SOA 클러스터는 클라이언트에 단일 SOA 인스턴스로 나타납니다. 한 클러스터의 서버 인스턴스는 같은 시스템에서 실행할 수도 있고 서로 다른 시스템에 있을 수도 있습니다. 클러스터의 각 서버 인스턴스는 같은 Oracle WebLogic Server 버전을 실행해야 합니다.
- WebLogic Kubernetes 운영자
Kubernetes 운영자는 복잡한 애플리케이션을 관리하는 소프트웨어입니다. WebLogic Kubernetes Operator는 기존 데이터 센터 배포 시 운영자와 유사한 역할을 수행하도록 설계되었습니다. 작업에는 환경 시작 및 중지, 백업 시작, 확장 작업 수행, 재해 복구 및 고가용성 요구와 관련된 수동 작업 수행, 다른 데이터 센터의 다른 운영자와 작업 조정이 포함됩니다.
권장사항
요구 사항은 여기에 설명된 아키텍처와 다를 수 있습니다. 다음 권장 사항을 시작점으로 사용합니다.
- VCN
VCN을 생성할 때 VCN의 서브넷에 연결하려는 리소스 수에 따라 필요한 CIDR 블록 수와 각 블록의 크기를 결정합니다. 표준 전용 IP 주소 공간 내에 있는 CIDR 블록을 사용합니다.
프라이빗 접속을 설정하려는 다른 네트워크(Oracle Cloud Infrastructure, 온프레미스 데이터 센터 또는 다른 클라우드 제공자)와 겹치지 않는 CIDR 블록을 선택합니다.
VCN을 생성한 후 해당 CIDR 블록을 변경, 추가 및 제거할 수 있습니다.
서브넷을 설계할 때는 트래픽 플로우 및 보안 요구사항을 고려하십시오. 특정 계층 또는 역할 내의 모든 리소스를 동일한 서브넷에 연결합니다. 이 서브넷은 보안 경계 역할을 할 수 있습니다.
지역 서브넷을 사용합니다.
이 아키텍처는 로드 밸런서에 대한 공용 서브넷과 OCI Kubernetes Engine 노드를 호스팅하는 전용 서브넷을 사용합니다.
- OCI Kubernetes 엔진
운영자는 모든 일반 Kubernetes 클러스터를 지원하지만, 이 아키텍처는 OCI Kubernetes Engine 클러스터를 사용합니다. 이러한 클러스터에는 5개의 작업자 노드가 서로 다른 물리적 호스트에 분산되어 있습니다. 표시된 클러스터에는 서로 다른 물리적 호스트에 분산된 작업자 노드가 있습니다. 한 클러스터에 최대 1000개의 노드를 만들 수 있습니다. 워커 노드는 VM.Standard2.1 Oracle Linux 호스트에 배치됩니다.
- 로드 밸런서
기본적으로 운영자가 생성한 Oracle WebLogic Server 서버(관리자 및 관리 서버)는 OCI Kubernetes Engine 클러스터 외부에 노출되지 않습니다. 외부 환경에 애플리케이션을 노출하기 위해 이 아키텍처는 로드 밸런싱 서비스의 공용 로드 밸런서를 사용합니다. 퍼블릭 로드 밸런서에는 인터넷에서 액세스할 수 있는 퍼블릭 IP 주소가 있습니다. 이 아키텍처는 트래픽 처리를 위해 100 Mbps의 로드 밸런서를 사용합니다. 더 많은 수신 트래픽을 처리해야 하는 경우 최대 8000 Mbps의 더 높은 대역폭을 선택할 수 있습니다.
- 파일 스토리지
Oracle WebLogic Server 도메인을 실행하기 위한 최적의 사용법을 준수하기 위해 이 아키텍처의 도메인 구성 파일은 클러스터의 모든 WebLogic 서버에서 액세스할 수 있는 공유 파일 스토리지에 저장됩니다. 이 설정은 다음과 같은 이점을 제공합니다.
- 도메인 구성의 변경사항에 대해 Docker 이미지를 재구축할 필요가 없습니다.
- 백업 속도 및 중앙 집중화
- 로그는 기본적으로 영구 저장 영역에 저장됩니다.
고려사항
- 확장성
로드에 따라 Kubernetes 클러스터의 워커 노드 수를 업데이트하여 애플리케이션을 스케일 아웃할 수 있습니다. 마찬가지로 클러스터의 워커 노드 수를 줄여 확장할 수 있습니다. Kubernetes 클러스터에서 서비스를 생성할 때 로드 밸런서를 생성하여 해당 서비스에 할당된 노드 간에 서비스 트래픽을 분산시킬 수 있습니다. Terraform 또는 Oracle Web Console을 사용하여 영구적 볼륨을 생성한 다음 운영자 스크립트에서 참조할 수 있습니다. OKE 클러스터 노드 수에 관계없이 클러스터에 지정된 관리 서버 수를 조정하여 SOA 도메인 및 클러스터의 크기를 조정할 수 있습니다.
- 애플리케이션 가용성
Kubernetes 클러스터에는 Oracle WebLogic Server 클러스터 자체의 가용성이 최고가 되도록 서로 다른 물리적 인프라에 분산되어 있는 관리형 서버용 워커 노드 3개가 있습니다.
- 보안
정책을 사용하여 Oracle Cloud Infrastructure 리소스를 사용할 수 있는 사용자와 이 리소스가 수행할 수 있는 작업을 제어합니다.
OCI Kubernetes Engine은 Oracle Cloud Infrastructure Identity and Access Management(IAM)와 통합됩니다. IAM은 기본 Oracle Cloud Infrastructure ID 기능을 사용하여 간편한 인증을 제공합니다.