背景:
阿里雲容器服務裏面創建一組Kubernetes集羣,默認情況會也會部署好Ingress nginx,並使用LoadBalancer類型的Service。最後還會自動從SLB申請一組經典網絡的SLB負載均衡器作用來該集羣公網流量的入口,其自動添加後端服務器,並根據Ingress Controller的變化而自動變化。比如增加或者減少了Ingress Controller,那麼對應的SLB默認服務器組也會對應的增加或者刪除。如果刪除對應的Service,那麼Service綁定的SLB負載均衡器也會自動刪除。
需求:
有時候我們需要創建一組專網的SLB應用於我們的Kubernetes集羣,用來內部VPC網絡訪問,那我們如何創建用於專網的SLB?
步驟:
通過阿里雲控制檯手動申請好一組專網的SLB負載均衡器
創建如下Service
apiVersion: v1 kind: Service metadata: name: nginx-ingress-lb-intranet namespace: kube-system labels: app: nginx-ingress-lb-intranet annotations: service.beta.kubernetes.io/alicloud-loadbalancer-address-type: intranet service.beta.kubernetes.io/alicloud-loadbalancer-id: lb-bp1qwyyenlotmnfw3lb6s service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners: 'true' spec: type: LoadBalancer externalTrafficPolicy: "Local" ports: - port: 80 name: http targetPort: 80 - port: 443 name: https targetPort: 443 selector: app: ingress-nginx
service.beta.kubernetes.io/alicloud-loadbalancer-address-type 指定負載均衡器的類型爲專網
service.beta.kubernetes.io/alicloud-loadbalancer-id 指定負載均衡器的ID(剛創建的)
service.beta.kubernetes.io/alicloud-loadbalancer-force-override-listeners 是否自動創建監聽
創建好後直接apply即可,負載均衡器將自動添加好監聽與默認後端服務器