【问题标题】:Kubernetes is not creating internet-facing AWS Classic Load BalancerKubernetes 没有创建面向 Internet 的 AWS Classic 负载均衡器
【发布时间】:2020-03-01 20:23:51
【问题描述】:

就我获得入口控制器文档而言,一个简单的服务和入口的创建没有特殊注释应该创建面向互联网的负载平衡器,奇怪的是它正在创建内部负载平衡器。所以我添加了注释service.beta.kubernetes.io/aws-load-balancer-internal: "false",它也不起作用。顺便说一句,我在当前版本为 0.8.21 的测试集群中使用 NGINX 作为入口控制器。也许我应该过一段时间更新一下。

这是我的简单规范文件:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/tls-acme: "true"
    kubernetes.io/ingress.class: nginx
    service.beta.kubernetes.io/aws-load-balancer-internal: "false"
  labels:
    external: "true"
    comp: ingress-nginx
    env: develop
  name: develop-api-external-ing
  namespace: develop
spec:
  rules:
    - host: api.example.com
      http:
        paths:
          - backend:
              serviceName: api-external
              servicePort: 3000
            path: /
  tls:
    - hosts:
        - api.example.com
      secretName: api-tls
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: api
    env: develop
  name: api-external
  namespace: develop
spec:
  ports:
    - name: http
      port: 3000
      protocol: TCP
      targetPort: 3000
  selector:
    app: api
    env: develop
  sessionAffinity: None
  type: ClusterIP

【问题讨论】:

    标签: amazon-web-services kubernetes amazon-elb nginx-ingress


    【解决方案1】:

    你没看错,一个服务和一个入口应该创建一个负载均衡器......但是你应该多看一下文档......

    一个入口需要一个 NodePort 服务,你的服务是 ClusterIP。所以即使它创造了一些东西也不会起作用。

    在您的 ingress 中,您使用的是 kubernetes.io/ingress.class: nginx,这意味着您要覆盖 ingress 的默认用法并强制它注册到 ingress-nginx。

    所以要让它工作,改变你的服务类型,删除入口类注释。

    【讨论】:

    • 没用,抱歉。将ClusterIP 更改为NodePort 并删除kubernetes.io/ingress.class: nginx
    • 其实这对我来说也没有意义,为什么我应该使用NodePort。这暴露了我的服务,而最初应该只暴露入口控制器。
    • 入口将在提供者中创建一个资源(仅在云中使用,所以不知道这在本地配置中是否有效),LB。但是这个不知道 Pod,需要一组目标计算实例。这就是为什么您需要一个 nodeport 服务来使其工作,这将打开实例上的端口并允许 lb 和您的应用程序之间的通信。
    【解决方案2】:

    您可以设置 NLB(网络负载平衡器)并在入口规则主机值上提供 URL。您不需要将底层后端服务公开为 NodePort 或另一个负载均衡器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-10
      • 2021-03-28
      • 2019-05-27
      • 2014-12-18
      • 1970-01-01
      相关资源
      最近更新 更多