외부 트래픽을 TKG 2.0 클러스터에서 실행되는 포드로 라우팅하려면 LoadBalancer 유형의 서비스를 생성합니다. 로드 밸런서 서비스는 인바운드 트래픽이 포드로 라우팅되는 공용 IP 주소를 노출합니다.

서비스로 노출된 Kubernetes 포드에 대한 외부 로드 밸런서를 프로비저닝할 수 있습니다. 예를 들어 Nginx 컨테이너를 배포하고 LoadBalancer 유형의 Kubernetes 서비스로 노출할 수 있습니다.

사전 요구 사항

  • Kubernetes 설명서에서 LoadBalancer 서비스 유형을 검토합니다.
  • TKG 클러스터를 프로비저닝합니다.
  • TKG 클러스터에 연결합니다.

프로시저

  1. 다음 nginx-lbsvc.yaml YAML 파일을 생성합니다.
    이 YAML 파일은 LoadBalancer 유형의 Kubernetes 서비스를 정의하고 서비스에 대한 외부 로드 밸런서로 Nginx 컨테이너를 배포합니다.
    kind: Service
    apiVersion: v1
    metadata:
      name: srvclb-ngnx
    spec:
      selector:
        app: hello
        tier: frontend
      ports:
      - protocol: "TCP"
        port: 80
        targetPort: 80
      type: LoadBalancer
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: loadbalancer
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: hello
      template:
        metadata:
          labels:
            app: hello
            tier: frontend
        spec:
          containers:
          - name: nginx
            image: "nginxdemos/hello"
    
  2. YAML을 적용합니다.
    kubectl apply -f nginx-lbsvc.yaml
  3. Nginx 서비스의 배포를 확인합니다.
    kubectl get services
    srvclb-ngnx는 외부 및 내부 IP 주소를 사용하여 작동합니다.
    NAME          TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)        AGE
    srvclb-ngnx   LoadBalancer   10.11.12.19      10.19.15.89     80:30818/TCP   18m
    
  4. 브라우저를 사용하여 Nginx LoadBalancer 서비스의 외부 IP 주소를 입력합니다.
    로드 밸런서의 세부 정보 및 NGINX 배너 메시지가 보입니다.