nginx - 使用Ingress Kubernetes公开流量

标签 nginx kubernetes kubernetes-ingress azure-load-balancer

我是Kubernetes的新手。我跟随Kesley Hightower的Kubernetes the hard way以及this在Azure中设置Kubernetes。现在,所有服务都可以正常运行。但是我无法使用负载均衡器公开流量。我尝试添加类型为ServiceLoadBalancer对象,但外部IP显示为<pending>。我需要添加入口以暴露流量。

nginx-service.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-service
  name: nginx-service
spec:
  type: LoadBalancer
  externalIPs:
    - <ip>
  ports:
    - name: "80"
      port: 80
      targetPort: 80
    - name: "443"
      port: 443
      targetPort: 443
  selector:
    app: nginx-service

谢谢,

最佳答案

默认情况下,Kubernetes The Hard Way提出的解决方案不包括LoadBalancer的解决方案。它永远挂起的事实是预期的行为。您需要为此使用开箱即用的解决方案。一个非常常用的是MetalLB

MetalLB不会为您分配外部IP,它将在我们的VPC内部分配一个内部IP,您必须创建必要的路由规则才能将流量路由到该IP。

关于nginx - 使用Ingress Kubernetes公开流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61505347/

相关文章:

找不到运行新构建的 nginx 的共享库

nginx - 在没有 GCP 负载均衡器的情况下创建 kubernetes nginx ingress

ssl - openssl 提供 Kubernetes 入口 Controller 假证书

nginx - 无法将上游映射到 nginx 服务器中的文件夹

azure - Nginx 拒绝 ssh,被锁在外面

kubernetes - 限制 kubernetes cron 作业中一次启动的容器数量

kubernetes - 为 Pod 分配的默认内存是多少

docker - kubernetes pod 的日志究竟来自哪里(在容器级别)?

kubernetes - 将入口流量路由到某些路径的特定 pod

ubuntu - 在 Ubuntu 11.04 上安装 Nginx 1.0.5 时如何使用 Puppet 依赖项