若要在 Tanzu Kubernetes 叢集中佈建外部負載平衡器,您可以建立類型為 LoadBalancer 的服務。負載平衡器服務會公開公用 IP 位址。來自外部負載平衡器的流量可導向至叢集網繭。
您可以為公開為服務的 Kubernetes 網繭佈建外部負載平衡器。例如,您可以部署 Nginx 容器,並將其公開為類型為 LoadBalancer 的 Kubernetes 服務。
程序
- 建立與有權限的預設 PSP 的適當角色繫結。請參閱網繭安全性原則的角色繫結範例。
- 建立下列 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"
- 套用 YAML。
kubectl apply -f nginx-lbsvc.yaml
- 驗證 Nginx 服務的部署。
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
- 使用瀏覽器,輸入 Nginx LoadBalancer 服務的外部 IP 位址。
此時會顯示訊息
NGINX
橫幅和負載平衡器的詳細資料。