5.13. Azure Stack Hub에서 네트워킹 및 로드 밸런싱 구성 요소 생성
Microsoft Azure Stack Hub에서 OpenShift Container Platform 클러스터가 사용할 네트워킹 및 로드 밸런싱을 구성해야 합니다. 이러한 구성 요소를 생성하는 한 가지 방법은 제공된 ARM(Azure Resource Manager) 템플릿을 수정하는 것입니다.
로드 밸런싱에는 다음과 같은 DNS 레코드가 필요합니다.
-
DNS 영역의 API 공용 로드 밸런서의
api
DNS 레코드입니다. -
DNS 영역의 API 내부 로드 밸런서의
api-int
DNS 레코드입니다.
Azure Stack Hub 인프라를 생성하는 데 제공된 ARM 템플릿을 사용하지 않는 경우, 제공된 정보를 검토하고 수동으로 인프라를 생성해야 합니다. 클러스터가 올바르게 초기화되지 않은 경우, Red Hat 지원팀에 설치 로그를 제시하여 문의해야 할 수도 있습니다.
사전 요구 사항
- Azure 계정을 구성하십시오.
- 클러스터에 대한 Ignition 구성 파일을 생성하십시오.
- Azure Stack Hub에서 VNet 및 관련 서브넷을 생성하고 구성합니다.
프로세스
-
이 항목의 네트워크 및 로드 밸런서에 대한 ARM 템플릿 섹션에서 템플릿을 복사하여 클러스터의 설치 디렉터리에
03_infra.json
으로 저장합니다. 이 템플릿은 클러스터에 필요한 네트워킹 및 로드 밸런싱 개체를 설명합니다. az
CLI를 사용하여 배포를 생성합니다.$ az deployment group create -g ${RESOURCE_GROUP} \ --template-file "<installation_directory>/03_infra.json" \ --parameters baseName="${INFRA_ID}"1
- 1
- 리소스 이름에 사용될 기본 이름; 일반적으로 클러스터의 인프라 ID입니다.
api
DNS 레코드 및api-int
DNS 레코드를 만듭니다. API DNS 레코드를 생성할 때${BASE_DOMAIN_RESOURCE_GROUP}
변수는 DNS 영역이 존재하는 리소스 그룹을 가리켜야 합니다.다음 변수를 내보냅니다.
$ export PUBLIC_IP=`az network public-ip list -g ${RESOURCE_GROUP} --query "[?name=='${INFRA_ID}-master-pip'] | [0].ipAddress" -o tsv`
다음 변수를 내보냅니다.
$ export PRIVATE_IP=`az network lb frontend-ip show -g "$RESOURCE_GROUP" --lb-name "${INFRA_ID}-internal" -n internal-lb-ip --query "privateIpAddress" -o tsv`
새 DNS 영역에
api
DNS 레코드를 생성합니다.$ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z ${CLUSTER_NAME}.${BASE_DOMAIN} -n api -a ${PUBLIC_IP} --ttl 60
기존 DNS 영역에 클러스터를 추가하는 경우 대신
api
DNS 레코드를 생성할 수 있습니다.$ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z ${BASE_DOMAIN} -n api.${CLUSTER_NAME} -a ${PUBLIC_IP} --ttl 60
새 DNS 영역에
api-int
DNS 레코드를 생성합니다.$ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z "${CLUSTER_NAME}.${BASE_DOMAIN}" -n api-int -a ${PRIVATE_IP} --ttl 60
기존 DNS 영역에 클러스터를 추가하는 경우 대신
api-int
DNS 레코드를 생성할 수 있습니다.$ az network dns record-set a add-record -g ${BASE_DOMAIN_RESOURCE_GROUP} -z ${BASE_DOMAIN} -n api-int.${CLUSTER_NAME} -a ${PRIVATE_IP} --ttl 60
5.13.1. 네트워크 및 로드 밸런서에 대한 ARM 템플릿
다음 ARM(Azure Resource Manager) 템플릿을 사용하여 OpenShift Container Platform 클러스터에 필요한 네트워킹 개체 및 로드 밸런서를 배포할 수 있습니다.
예 5.3. 03_infra.json
ARM 템플릿
link:https://raw.githubusercontent.com/openshift/installer/release-4.13/upi/azurestack/03_infra.json[]