Kubernetes Ingress NGINX 控制器外部 IP <pending>

Kubernetes Ingress NGINX Controller EXTERNAL-IP <pending>

我正在按照 Quick start 说明进行操作。我的集群上还有其他 LoadBalancer 服务 运行。他们很好地公开了 EXTERNAL-IP 值。 NGINX Ingress Controller 似乎是唯一一个有这个问题的控制器。

我执行了第一条命令:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.0/deploy/static/provider/cloud/deploy.yaml

我的 LoadBalancer 服务似乎有问题。已经超过1h了,EXTERNAL-IP还是<pending>状态:

kubectl get svc ingress-nginx-controller
NAME                       TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
ingress-nginx-controller   LoadBalancer   10.106.240.88   <pending>     80:31352/TCP,443:31801/TCP   32m

我如何从这里进步?这是我的提供商的问题吗?

我的提供商 Oktawave 回复说,具有 2 个端口的 LoadBalancer 需要额外的注释:

apiVersion: v1
kind: Service
metadata:
  name: wordpress-lb
  annotations:
    k44sServiceType: HTTP
    k44sSslEnabled: "True"
  labels:
    app: hello-wordpress
spec:
  ports:
  - port: 80
    name: http
    protocol: TCP
  - port: 443
    name: https
    protocol: TCP
  selector:
    app: hello-wordpress
  type: LoadBalancer

通过编辑 YAML 以包含这些注释,我能够将 EXTERNAL-IP 分配给 ingress-nginx-controller

(...)
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    k44sServiceType: HTTP
    k44sSslEnabled: "True"
  labels:
    helm.sh/chart: ingress-nginx-4.0.10
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/version: 1.1.0
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/component: controller
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ipFamilyPolicy: SingleStack
  ipFamilies:
    - IPv4
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: http
      appProtocol: http
    - name: https
      port: 443
      protocol: TCP
      targetPort: https
      appProtocol: https
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/component: controller
---
(...)