23.3. GCP 외부 로드 밸런서를 서비스로 사용


LoadBalancer 서비스를 사용하여 외부에서 서비스를 노출하여 GCP 로드 밸런서를 사용하도록 OpenShift Container Platform을 구성할 수 있습니다. OpenShift Container Platform은 GCP에 로드 밸런서를 생성하고 필요한 방화벽 규칙을 생성합니다.

절차

  1. 새 애플리케이션을 생성합니다.

    $ oc new-app openshift/hello-openshift
  2. 로드 밸런서 서비스를 노출합니다.

    $ 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
  3. 서비스가 생성되었는지 확인하려면 다음을 수행하십시오.

    $ oc get svc
    NAME                       TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                         AGE
    hello-openshift            ClusterIP      172.30.62.10     <none>          8080/TCP,8888/TCP               20m
    hello-openshift-external   LoadBalancer   172.30.147.214   35.230.97.224   8080:31521/TCP,8888:30843/TCP   19m

    LoadBalancer 유형 및 외부 IP 값은 서비스에서 애플리케이션을 노출하기 위해 GCP 로드 밸런서를 사용하고 있음을 나타냅니다.

OpenShift Container Platform은 다음과 같은 GCP 인프라에 필요한 오브젝트를 생성합니다.

  • 방화벽 규칙:

    $ gcloud compute firewall-rules list | grep k8s
    k8s-4612931a3a47c204-node-http-hc        my-net  INGRESS    1000      tcp:10256
    k8s-fw-a1a8afaa7762811e88c5242010af0000  my-net  INGRESS    1000      tcp:8080,tcp:8888
    참고

    이러한 방화벽 규칙은 <openshift_gcp_prefix>ocp 태그가 지정된 인스턴스에 적용됩니다. 예를 들어 openshift_gcp_prefix 매개변수 값이 mycluster로 설정된 경우 mycluster ocp 로 노드에 태그를 지정해야 합니다. Compute Engine VM 인스턴스에 네트워크 태그를 추가하는 방법에 대한 자세한 내용은 네트워크 태그 추가 및 제거를 참조하십시오.

  • 상태 점검:

    $ gcloud compute http-health-checks list | grep k8s
    k8s-4612931a3a47c204-node        10256  /healthz
  • 로드 밸런서:

    $ gcloud compute target-pools list | grep k8s
    a1a8afaa7762811e88c5242010af0000  us-west1  NONE                      k8s-4612931a3a47c204-node
    $ gcloud compute forwarding-rules list | grep a1a8afaa7762811e88c5242010af0000
    a1a8afaa7762811e88c5242010af0000  us-west1  35.230.97.224  TCP          us-west1/targetPools/a1a8afaa7762811e88c5242010af0000

로드 밸런서가 올바르게 구성되었는지 확인하려면 외부 호스트에서 다음 명령을 실행합니다.

$ curl 35.230.97.224:8080
Hello OpenShift!
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.