嘿,伙计们,我想在一个问题上寻求帮助: 我使用的是 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 命名空间中的默认 backen svc 旁边显示所有像我一样的内容时,他也有一个“ingress-controller svc负载平衡器类型”,而我没有,那么我该如何纠正? 谢谢你的帮助。
答案 0 :(得分:1)
Nginx Ingress in Kubernetes Revisited 3:25 --> 他说 nginx-ingress-controller
类型的 LoadBalancer
来自 Metallb。这意味着他运行本地集群,而不是在云中。您可以使用 kubeadm
MetalLB 制作 LoadBalancer 服务: https://metallb.universe.tf/
<块引用>Kubernetes 不提供网络负载均衡器的实现 (LoadBalancer 类型的服务)用于裸机集群。这 Kubernetes 附带的 Network LB 的实现都是 调用各种 IaaS 平台(GCP、AWS、Azure...)的粘合代码。 如果您没有在受支持的 IaaS 平台(GCP、AWS、Azure...)上运行, LoadBalancers 将无限期地保持在“pending”状态 已创建。
裸机集群运营商只剩下两个较小的工具可以带来 用户流量进入他们的集群,“NodePort”和“externalIPs” 服务。这两种选择都有明显的缺点 生产使用,这使得裸机集群成为二等公民 在 Kubernetes 生态系统中。
MetalLB 旨在通过提供网络 LB 来纠正这种不平衡 与标准网络设备集成的实现,因此 裸机集群上的外部服务也同样“正常工作” 尽可能。
答案 1 :(得分:1)
所以我设法让它工作,我的牧场主上的 nginx 是从牧场主应用程序目录中部署的,并且“部署服务”字段被设置为 false,所以我升级了它并将该字段设置为 true 和它为我部署了负载平衡服务,所以现在它工作正常。 谢谢