背景:
阿里云容器服务里面创建一组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即可,负载均衡器将自动添加好监听与默认后端服务器
参考链接:如何配置阿里云容器服务K8S Ingress Controller使用私网SLB