17.4.5. 로드 밸런서 서비스 생성
다음 절차에 따라 로드 밸런서 서비스를 생성합니다.
사전 요구 사항
- 노출하려는 프로젝트와 서비스가 존재하는지 확인합니다.
프로세스
로드 밸런서 서비스를 생성하려면 다음을 수행합니다.
- OpenShift Container Platform 4에 로그인합니다.
노출하려는 서비스가 있는 프로젝트를 로드합니다.
$ oc project project1필요한 경우 컨트롤 플레인 노드 (마스터 노드라고도 함)에서 텍스트 파일을 열고 다음 텍스트를 붙여넣어 파일을 편집합니다.
로드 밸런서 구성 파일 샘플
apiVersion: v1 kind: Service metadata: name: egress-21 spec: ports: - name: db port: 33062 loadBalancerIP: loadBalancerSourceRanges:3 - 10.0.0.0/8 - 192.168.0.0/16 type: LoadBalancer4 selector: name: mysql5 참고로드 밸런서를 통한 트래픽을 특정 IP 주소로 제한하려면
loadBalancerSourceRanges필드를 설정하지 않고service.beta.kubernetes.io/load-balancer-source-ranges주석을 사용하는 것이 좋습니다. 주석을 사용하면 향후 릴리스에서 구현될 OpenShift API로 더 쉽게 마이그레이션할 수 있습니다.- 파일을 저장하고 종료합니다.
다음 명령을 실행하여 서비스를 생성합니다.
$ oc create -f <file-name>예를 들면 다음과 같습니다.
$ oc create -f mysql-lb.yaml새 서비스를 보려면 다음 명령을 실행합니다.
$ oc get svc출력 예
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE egress-2 LoadBalancer 172.30.22.226 ad42f5d8b303045-487804948.example.com 3306:30357/TCP 15m활성화된 클라우드 공급자가 있는 경우 서비스에 외부 IP 주소가 자동으로 할당됩니다.
마스터에서 cURL과 같은 도구를 사용하여 공개 IP 주소로 서비스에 도달할 수 있는지 확인합니다.
$ curl <public-ip>:<port>예를 들면 다음과 같습니다.
$ curl 172.29.121.74:3306이 섹션의 예제에서는 클라이언트 애플리케이션이 필요한 MySQL 서비스를 사용합니다.
패킷이 잘못됨이라는 메시지가 포함된 문자열이 표시되면 서비스에 연결된 것입니다.MySQL 클라이언트가 있는 경우 표준 CLI 명령으로 로그인하십시오.
$ mysql -h 172.30.131.89 -u admin -p출력 예
Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. MySQL [(none)]>