【问题标题】:nginx ingress no controller servicenginx入口没有控制器服务
【发布时间】:2021-05-12 22:35:45
【问题描述】:

各位大侠,我需要一些帮助来解决一个问题: 我正在使用 Rancher 提供给我的 kubernetes 集群(所以我没有配置它)

但它有一个 nginx 入口控制器:

 kubectl -n ingress-nginx get all -o wide
NAME                                        READY   STATUS    RESTARTS   AGE   IP               NODE                           NOMINATED NODE   READINESS GATES
pod/default-http-backend-598b7d7dbd-fgpns   1/1     Running   3          48d   192.168.121.64   pr-k8s-fe-fastdata-worker-02   <none>           <none>
pod/nginx-ingress-controller-72d8s          1/1     Running   0          6d    172.34.10.123    pr-k8s-fe-fastdata-worker-03   <none>           <none>
pod/nginx-ingress-controller-rn4fw          1/1     Running   0          6d    172.34.10.192    pr-k8s-fe-fastdata-worker-01   <none>           <none>
pod/nginx-ingress-controller-v2m8b          1/1     Running   0          6d    172.34.10.173    pr-k8s-fe-fastdata-worker-02   <none>           <none>

NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE   SELECTOR
service/default-http-backend   ClusterIP   192.168.33.89   <none>        80/TCP    48d   app=default-http-backend

NAME                                      DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE   CONTAINERS                 IMAGES                                                   SELECTOR
daemonset.apps/nginx-ingress-controller   3         3         3       3            3           <none>          48d   nginx-ingress-controller   rancher/nginx-ingress-controller:nginx-0.35.0-rancher1   app=ingress-nginx

NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS             IMAGES                                                         SELECTOR
deployment.apps/default-http-backend   1/1     1            1           48d   default-http-backend   rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1   app=default-http-backend

NAME                                              DESIRED   CURRENT   READY   AGE   CONTAINERS             IMAGES                                                         SELECTOR
replicaset.apps/default-http-backend-598b7d7dbd   1         1         1       48d   default-http-backend   rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1   app=default-http-backend,pod-template-hash=598b7d7dbd

当我在看视频教程时([ Kube 59.1 ] Nginx Ingress in Kubernetes Revisited我注意到当他在 ingress 命名空间中显示所有像我一样的东西时,他还有一个“ingress-controller svc 类型负载均衡器”,但我没有,那我该如何纠正呢? 谢谢你的帮助。

【问题讨论】:

    标签: nginx kubernetes rancher


    【解决方案1】:

    Nginx Ingress in Kubernetes Revisited 3:25 --> 他说LoadBalancer 类型的nginx-ingress-controller 来自Metallb。这意味着他运行的是本地集群,而不是云中。您可以使用 kubeadm 进行安装

    MetalLB 提供 LoadBalancer 服务: https://metallb.universe.tf/

    Kubernetes 不提供网络负载平衡器的实现 (LoadBalancer 类型的服务)用于裸机集群。这 Kubernetes 附带的 Network LB 的实现都是 调用各种 IaaS 平台(GCP、AWS、Azure ……)的粘合代码。 如果您没有在受支持的 IaaS 平台(GCP、AWS、Azure...)上运行, LoadBalancers 将无限期地保持在“待定”状态 已创建。

    裸机集群运营商只剩下两个较小的工具可以带来 用户流量进入他们的集群,“NodePort”和“externalIPs” 服务。这两种选择都有明显的缺点 生产使用,这使得裸机集群成为二等公民 在 Kubernetes 生态系统中。

    MetalLB 旨在通过提供网络 LB 来纠正这种不平衡 与标准网络设备集成的实现,因此 裸机集群上的外部服务也“正常工作” 尽可能。

    【讨论】:

    • 您好,是的,但在我的情况下,我在云端(Openstack)上提供了一个负载均衡器。谢谢
    【解决方案2】:

    所以我设法让它工作,我的牧场主上的 nginx 是从牧场主应用程序目录中部署的,并且“部署服务”字段设置为 false,所以我对其进行了升级并将字段设置为 true 和它为我部署了负载平衡服务,所以现在它工作正常。 谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2022-06-29
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      相关资源
      最近更新 更多