若要在 Tanzu Kubernetes 叢集中佈建外部負載平衡器,您可以建立類型為 LoadBalancer 的服務。負載平衡器服務會公開公用 IP 位址。來自外部負載平衡器的流量可導向至叢集網繭。

您可以為公開為服務的 Kubernetes 網繭佈建外部負載平衡器。例如,您可以部署 Nginx 容器,並將其公開為類型為 LoadBalancer 的 Kubernetes 服務。

必要條件

程序

  1. 建立與有權限的預設 PSP 的適當角色繫結。請參閱網繭安全性原則的角色繫結範例
  2. 建立下列 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"
    
  3. 套用 YAML。
    kubectl apply -f nginx-lbsvc.yaml
  4. 驗證 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
    
  5. 使用瀏覽器,輸入 Nginx LoadBalancer 服務的外部 IP 位址。
    此時會顯示訊息 NGINX 橫幅和負載平衡器的詳細資料。