24.5. Microsoft Azure 외부 로드 밸런서를 서비스로 사용
OpenShift Container Platform은 LoadBalancer
서비스를 사용하여 외부에서 서비스를 노출하여 Microsoft Azure 로드 밸런서를 활용할 수 있습니다. OpenShift Container Platform은 Microsoft Azure에 로드 밸런서를 생성하고 적절한 방화벽 규칙을 생성합니다.
현재 버그로 인해 추가 변수가 Microsoft Azure 인프라에 포함되어 클라우드 프로바이더로 사용하고 외부 로드 밸런서로 사용할 때 추가 변수가 포함됩니다. 자세한 내용은 다음을 참조하십시오.
사전 요구 사항
/etc/origin/cloudprovider/azure.conf 에 있는 Azure 구성 파일이 적절한 오브젝트로 올바르게 구성되었는지 확인합니다. /etc/origin/cloudprovider/azure.conf 파일의 예는 Microsoft Azure용 OpenShift Container Platform 수동 구성 섹션 을 참조하십시오.
값이 추가되면 모든 호스트에서 OpenShift Container Platform 서비스를 다시 시작하십시오.
# systemctl restart atomic-openshift-node # master-restart api # master-restart controllers
24.5.1. 로드 밸런서를 사용하여 샘플 애플리케이션 배포
절차
새 애플리케이션을 생성합니다.
$ oc new-app openshift/hello-openshift
로드 밸런서 서비스를 노출합니다.
$ oc expose dc hello-openshift --name='hello-openshift-external' --type='LoadBalancer'
이렇게 하면 다음과 유사한
Loadbalancer
서비스가 생성됩니다.apiVersion: v1 kind: Service metadata: labels: app: hello-openshift name: hello-openshift-external spec: externalTrafficPolicy: Cluster ports: - name: port-1 nodePort: 30714 port: 8080 protocol: TCP targetPort: 8080 - name: port-2 nodePort: 30122 port: 8888 protocol: TCP targetPort: 8888 selector: app: hello-openshift deploymentconfig: hello-openshift sessionAffinity: None type: LoadBalancer
서비스가 생성되었는지 확인합니다.
$ oc get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hello-openshift ClusterIP 172.30.223.255 <none> 8080/TCP,8888/TCP 1m hello-openshift-external LoadBalancer 172.30.99.54 40.121.42.180 8080:30714/TCP,8888:30122/TCP 4m
LoadBalancer
유형 및External-IP
필드는 서비스에서 애플리케이션을 노출하기 위해 Microsoft Azure 로드 밸런서를 사용하고 있음을 나타냅니다.
이렇게 하면 Azure 인프라에 다음과 같은 필수 오브젝트가 생성됩니다.
로드 밸런서:
az network lb list -o table Location Name ProvisioningState ResourceGroup ResourceGuid ---------- ----------- ------------------- --------------- ------------------------------------ eastus kubernetes Succeeded refarch-azr 30ec1980-b7f5-407e-aa4f-e570f06f168d eastus OcpMasterLB Succeeded refarch-azr acb537b2-8a1a-45d2-aae1-ea9eabfaea4a eastus OcpRouterLB Succeeded refarch-azr 39087c4c-a5dc-457e-a5e6-b25359244422
로드 밸런서가 올바르게 구성되었는지 확인하려면 외부 호스트에서 다음을 실행합니다.
$ curl 40.121.42.180:8080 1
Hello OpenShift!
- 1
- 를 위의
EXTERNAL-IP
확인 단계의 값과 포트 번호로 바꿉니다.