Kubernetes 带有nginx入口控制器的probem

Kubernetes 带有nginx入口控制器的probem,kubernetes,nginx-ingress,Kubernetes,Nginx Ingress,我有一个运行在RHEL7上的裸金属kubernetes集群,它有一个主节点和三个工作节点。 我正在尝试为裸机进行设置,一切看起来都很好,但由于某些原因,我仍然无法访问我创建的示例nginx部署 我遵循以下步骤: 使用ingress nginx裸金属 kubectl应用-f 验证命名空间入口nginx中的所有内容是否都按预期工作 试图访问http://NODEIP:30548 (因为Nginx入口暴露于NodePort上的30548)和我得到的404未找到。在我的集群中的所有节点上尝试了它,得到

我有一个运行在RHEL7上的裸金属kubernetes集群,它有一个主节点和三个工作节点。 我正在尝试为裸机进行设置,一切看起来都很好,但由于某些原因,我仍然无法访问我创建的示例nginx部署

我遵循以下步骤:

  • 使用ingress nginx裸金属 kubectl应用-f
  • 验证命名空间入口nginx中的所有内容是否都按预期工作
  • 试图访问http://NODEIP:30548 (因为Nginx入口暴露于NodePort上的30548)和我得到的404未找到。在我的集群中的所有节点上尝试了它,得到了404。我认为这意味着我的入口控制器正在按预期工作
  • 创建了一个部署,如下所示:
  • 公开服务

    kubectl expose deploy nginx测试部署--端口80

  • 创建入口,如下所示:

  • 在本地计算机中为nginx.example.com创建主机条目,指向集群中的一个节点
  • 它没有看到nginx登录页,而是根本无法解析

    有人能告诉我发生了什么事吗


    我还看到,在两个worker节点上,我看到pod处于“完成”状态,一个正在运行。这是预期的行为吗?

    请尝试将containerPort添加到部署中,然后再次应用并公开它,好吗?关于公开nginx部署有一个和。让我知道这是否有效。Jakub,我试过了,但仍然没有成功。我仍然无法访问nginx.example.com1。我有一个关于
    的问题,我还看到在两个工作节点上,我看到吊舱处于“完成”状态,一个正在运行
    ,您是指屏幕上方的入口控制器吊舱还是您的nginx吊舱?2.您的nginx吊舱是否健康且运行良好?3.您能用主机条目显示您的/etc/hosts吗?4.您能否尝试使用空主机,复制此
    spec:rules:-host:http:path:-path:/backend:serviceName:nginx test deploy servicePort:80
    ,并告诉我它是否有效?
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        run: nginx
      name: nginx-test-deploy
    spec:
      replicas: 3
      selector:
        matchLabels:
          run: nginx-test
      template:
        metadata:
          labels:
            run: nginx-test
        spec:
          containers:
          - image: nginx
            name: nginx
    
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      name: ingress-resource-1
    spec:
      rules:
      - host: nginx.example.com
        http:
          paths:
          - backend:
              serviceName: nginx-test-deploy
              servicePort: 80