Kubernetes 入口:无法连接?

问题描述 投票:0回答:2

实施的流量:

client ---> Ingress (SSL,LoadBalancer) --> my_web(service) -> PODs

入口:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: foo

spec:
  ingressClassName: nginx

  rules:
    - host: "test.foo.com"
      http:
        paths:
          - pathType: Prefix
            path: "/"
            backend:
              service:
                name: my_web
                port:
                  number: 8080

无法连接入口端口 80:

curl http://test.foo.com:80      <--- could not connect

test.foo.com 在主机文件中映射到 127.0.0.1。

可以直接连接到my_web服务(loadBalancer)

curl http://localhost:8080    <---- success

ingress 是否对外暴露任何端口?

my_web_service.yaml

apiVersion: v1
kind: Service
metadata:
  name: my_web
  labels:
    app: my_web
spec:
  ports:
    - name: http
      port: 8080
      targetPort: 8080
  selector:
    app: my_web
  type: LoadBalancer

my_web_deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my_web
  labels:
    app: my_web
spec:
  selector:
    matchLabels:
      app: my_web
  template:
    metadata:
      labels:
        app: my_web
    spec:
      containers:
        - image: my_web:latest
          name: my_web
          ports:
            - containerPort: 8080
kubernetes kubernetes-ingress
2个回答
1
投票

如果您没有为入口实现配置负载均衡器服务,入口本身不会公开端口。

使用

卷曲http://test.foo.com:8080

就你而言


0
投票

我用 helm 安装 ingressController 编辑主机网络:true

⋊> ubuntu@server71 ⋊> ~/h/i/helm-ingress kubectl 获取全部 -n ingress-nginx-2024 -owide 10:05:11 名称就绪状态重新启动年龄 IP 节点指定节点就绪门 pod/nginx-ingress-controller-59d5b69746-trf5b 1/1 运行 0 4s 103.143.207.51 server51

名称 类型 集群 IP 外部 IP 端口 年龄选择器 服务/nginx-ingress-controller LoadBalancer 10.233.3.164 80:32320/TCP,443:30437/TCP 15h app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress

名称已准备好最新可用年龄容器图像选择器 部署.apps/nginx-ingress-controller 1/1 1 1 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress

命名所需的当前就绪容器图像选择器 plicaset.apps/nginx-ingress-controller-59d5b69746 1 1 1 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=59d5b69746 plicaset.apps/nginx-ingress-controller-5d6fd69877 0 0 0 7h58m nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=5d6fd69877 plicaset.apps/nginx-ingress-controller-649cd64c4f 0 0 0 15h nginx-ingress nginx/nginx-ingress:3.4.3 app.kubernetes.io/instance=nginx-ingress,app.kubernetes.io/name=nginx-ingress ,pod-template-hash=649cd64c4f

但是如果你已经使用了 helm 还是有问题,你可以尝试编辑 HostNetwork 并升级 helm,然后删除要部署的 pod 并重新创建 pod,现在 使用

卷曲http://test.foo.com

就你而言

© www.soinside.com 2019 - 2024. All rights reserved.