17.4.5. 로드 밸런서 서비스 생성
다음 절차에 따라 로드 밸런서 서비스를 생성합니다.
사전 요구 사항
- 노출하려는 프로젝트와 서비스가 존재하는지 확인합니다.
프로세스
로드 밸런서 서비스를 생성하려면 다음을 수행합니다.
- OpenShift Container Platform 4에 로그인합니다.
노출하려는 서비스가 있는 프로젝트를 로드합니다.
$ oc project project1
필요한 경우 컨트롤 플레인 노드 (마스터 노드라고도 함)에서 텍스트 파일을 열고 다음 텍스트를 붙여넣어 파일을 편집합니다.
로드 밸런서 구성 파일 샘플
apiVersion: v1 kind: Service metadata: name: egress-2 1 spec: ports: - name: db port: 3306 2 loadBalancerIP: loadBalancerSourceRanges: 3 - 10.0.0.0/8 - 192.168.0.0/16 type: LoadBalancer 4 selector: name: mysql 5
참고로드 밸런서를 통한 트래픽을 특정 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)]>