24장. Azure 구성
영구 애플리케이션 데이터에 Microsoft Azure 로드 밸런서 및 디스크를 사용하도록 OpenShift Container Platform을 구성할 수 있습니다.
24.1. 시작하기 전
24.1.1. Microsoft Azure에 대한 권한 부여 구성
Azure 역할
OpenShift Container Platform을 위해 Microsoft Azure를 구성하려면 다음 Microsoft Azure 역할이 필요합니다.
기여자 | 모든 유형의 Microsoft Azure 리소스를 생성하고 관리합니다. |
Classic 서브스크립션 관리자 역할 및 를 참조하십시오. Azure RBAC 역할 및. Azure AD 관리자 역할 설명서 자세한 내용은.
권한
OpenShift Container Platform을 위해 Microsoft Azure를 구성하려면 서비스 주체가 필요하며, 이를 통해 영구 스토리지용 Kubernetes 서비스 로드 밸런서 및 디스크를 생성하고 관리할 수 있습니다. 서비스 주체 값은 설치 시 정의되고 OpenShift Container Platform 마스터 및 노드 호스트의 /etc/origin/cloudprovider/azure.conf
에 있는 Azure 구성 파일에 배포됩니다.
절차
Azure CLI를 사용하여 계정 서브스크립션 ID를 가져옵니다.
# az account list [ { "cloudName": "AzureCloud", "id": "<subscription>", 1 "isDefault": false, "name": "Pay-As-You-Go", "state": "Enabled", "tenantId": "<tenant-id>", "user": { "name": "admin@example.com", "type": "user" } ]
- 1
- 새 권한을 생성하는 데 사용할 서브스크립션 ID입니다.
기여자의 Microsoft Azure 역할과 Microsoft Azure 서브스크립션 및 리소스 그룹의 범위를 사용하여 서비스 주체를 생성합니다. 인벤토리를 정의할 때 사용할 이러한 값의 출력을 기록합니다. 아래 값 대신 이전 단계의
<subscription>
값을 사용합니다.# az ad sp create-for-rbac --name openshiftcloudprovider \ --password <secret> --role contributor \ --scopes /subscriptions/<subscription>/resourceGroups/<resource-group> Retrying role assignment creation: 1/36 Retrying role assignment creation: 2/36 { "appId": "<app-id>", "displayName": "ocpcloudprovider", "name": "http://ocpcloudprovider", "password": "<secret>", "tenant": "<tenant-id>" }
24.1.2. Microsoft Azure 오브젝트 구성
OpenShift Container Platform을 Microsoft Azure와 통합하려면 다음과 같은 구성 요소 또는 서비스에서 가용성이 높고 완전한 기능을 갖춘 환경을 생성해야 합니다.
적절한 양의 인스턴스를 시작할 수 있도록 하려면 인스턴스를 만들기 전에 Microsoft에서 CPU 할당량 증가를 요청합니다.
- 리소스 그룹
- 리소스 그룹에는 네트워킹, 로드 밸런서, 가상 시스템 및 DNS를 포함하여 배포를 위한 모든 Microsoft Azure 구성 요소가 포함되어 있습니다. 리소스 그룹에 쿼터 및 권한을 적용하여 Microsoft Azure에 배포된 리소스를 제어하고 관리할 수 있습니다. 리소스 그룹은 지리적 지역별로 생성 및 정의됩니다. OpenShift Container Platform 환경에 생성된 모든 리소스는 동일한 지역 리전과 동일한 리소스 그룹 내에 있어야 합니다.
자세한 내용은 Azure Resource Manager 개요 를 참조하십시오.
- Azure Virtual Networks
- Azure 가상 네트워크는 Azure 클라우드 네트워크를 서로 분리하는 데 사용됩니다. 인스턴스 및 로드 밸런서는 가상 네트워크를 사용하여 상호 간에 그리고 인터넷으로부터의 통신을 허용합니다. 가상 네트워크를 사용하면 리소스 그룹 내의 구성 요소에서 사용할 하나 이상의 서브넷을 만들 수 있습니다. 또한 가상 네트워크를 다양한 VPN 서비스에 연결하여 온프레미스 서비스와 통신할 수 있습니다.
자세한 내용은 Azure Virtual Network? 를 참조하십시오.
- Azure DNS
- Azure는 내부 및 인터넷에 액세스할 수 있는 호스트 이름 및 로드 밸런서 확인을 제공하는 관리형 DNS 서비스를 제공합니다. 참조 환경에서는 DNS 영역을 사용하여 세 개의 DNS A 레코드를 호스팅하여 공용 IP를 OpenShift Container Platform 리소스 및 bastion으로 매핑할 수 있습니다.
자세한 내용은 Azure DNS란 무엇입니까? 를 참조하십시오.
- 로드 밸런싱
- Azure 로드 밸런서를 사용하면 Azure 환경 내의 가상 시스템에서 실행되는 서비스의 확장 및 고가용성을 위해 네트워크 연결을 사용할 수 있습니다.
- 스토리지 계정
-
스토리지 계정을 사용하면 가상 시스템과 같은 리소스가 Microsoft Azure에서 제공하는 다양한 스토리지 구성 요소에 액세스할 수 있습니다. 설치하는 동안 스토리지 계정은 OpenShift Container Platform 레지스트리에 사용되는 오브젝트 기반
Blob
스토리지의 위치를 정의합니다.
자세한 내용은 Azure Storage 소개 또는 레지스트리에 대한 스토리지 계정을 생성하는 단계는 OpenShift Container Platform 레지스트리 구성 섹션 을 참조하십시오.
- 서비스 주체
- Azure는 Azure 내에서 구성 요소를 액세스, 관리 또는 생성하는 서비스 계정을 생성할 수 있는 기능을 제공합니다. 서비스 계정은 특정 서비스에 대한 API 액세스 권한을 부여합니다. 예를 들어 서비스 주체는 Kubernetes 또는 OpenShift Container Platform 인스턴스가 영구 스토리지 및 로드 밸런서를 요청할 수 있습니다. 서비스 주체는 특정 기능에 대해 인스턴스 또는 사용자에게 세밀한 액세스를 제공할 수 있습니다.
자세한 내용은 Azure Active Directory의 애플리케이션 및 서비스 주체 오브젝트 를 참조하십시오.
- 가용성 세트
- 가용성 세트를 사용하면 배포된 VM이 클러스터의 여러 격리된 하드웨어 노드에 분산됩니다. 배포는 클라우드 프로바이더 하드웨어에서 유지 관리가 수행될 때 인스턴스가 모두 하나의 노드에서 실행되지 않도록 하는 데 도움이 됩니다.
인스턴스를 역할에 따라 다른 가용성 세트로 분할해야 합니다. 예를 들어 3개의 마스터 호스트, 인프라 호스트를 포함하는 하나의 가용성 세트, 애플리케이션 호스트를 포함하는 하나의 가용성 세트를 포함하는 하나의 가용성 집합이 있습니다. 이를 통해 분할 및 OpenShift Container Platform 내에서 외부 로드 밸런서를 사용할 수 있습니다.
자세한 내용은 Linux 가상 시스템의 가용성 관리를 참조하십시오.
- 네트워크 보안 그룹
- NSG(Network Security Groups)는 Azure Virtual Network 내에서 배포된 리소스에 대한 트래픽을 허용하거나 거부하는 규칙 목록을 제공합니다. NSG는 숫자 우선 순위 값과 규칙을 사용하여 서로 통신할 수 있는 항목을 정의합니다. 가상 네트워크 내에서, 로드 밸런서 또는 모든 위치에서 통신이 발생할 수 있는 위치를 제한할 수 있습니다.
우선 순위 값을 사용하면 관리자가 포트 통신이 허용되거나 발생할 수 없는 순서에 따라 세분화된 값을 부여할 수 있습니다.
자세한 내용은 가상 네트워크 계획을 참조하십시오.
- 인스턴스 크기
- OpenShift Container Platform 환경에 성공하려면 몇 가지 최소 하드웨어 요구 사항이 필요합니다.
자세한 내용은 OpenShift Container Platform 설명서 또는 클라우드 서비스의 크기에서 최소 Hadware 요구 사항 섹션 을 참조하십시오.