我有一组要作为入口负载均衡器公开的服务。我选择nginx作为入口,因为它能够强制HTTP到HTTPS重定向。
  
  
   具有入口配置
  
  apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: api-https
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: true
    nginx.ingress.kubernetes.io/force-ssl-redirect: true
    nginx.org/ssl-services: "api,spa"
    kubernetes.io/ingress.class: nginx
spec:
  tls:
    - hosts:
        - api.some.com
        - www.some.com
      secretName: secret
  rules:
    - host: api.some.com
      http:
        paths:
          - path: /
            backend:
              serviceName: api
              servicePort: 8080
    - host: www.some.com
      http:
        paths:
          - path: /
            backend:
              serviceName: spa
              servicePort: 8081
  
   GKE创建了nginx入口负载均衡器,也创建了另一个带有后端的负载均衡器,类似于如果没有选择nginx,而是将gcp作为入口。
  
  
   下面的屏幕截图以红色显示了两个意想不到的lb,蓝色显示了两个nginx入口lb,分别用于我们的qa和prod env。
  
  
   
     
   
  
  
  
  
   kubectl get服务的输出
  
  xyz@cloudshell:~ (xyz)$ kubectl get services
NAME                            TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                         AGE
api                             NodePort       1.2.3.4         <none>           8080:32332/TCP,4433:31866/TCP   10d
nginx-ingress-controller        LoadBalancer   1.2.6.9         12.13.14.15      80:32321/TCP,443:32514/TCP      2d
nginx-ingress-default-backend   ClusterIP      1.2.7.10        <none>           80/TCP                          2d
spa                             NodePort       1.2.8.11        <none>           8082:31847/TCP,4435:31116/TCP   6d
  
   GCP GKE服务屏幕截图输入错误信息的入口视图
  
  
   
     
   
  
  
  
  
   这是预期的吗?
  
  
   我是否错过了阻止为创建此额外负载平衡器的任何配置?