无法使用入口连接到Pod

时间:2019-06-30 08:30:11

标签: kubernetes kubernetes-ingress kubernetes-pod eks

我正在尝试配置一个在kubernetes中的端口5000中运行的python flask应用程序。我已经创建了部署,服务和入口。使用添加到主机文件中的域名无法正常工作,但是当我尝试从端口转发进行操作时,python应用程序正在工作。

我已经尝试了很多更改配置,但是没有任何效果。

请让我知道您的建议。

kind: Deployment
metadata:
  name: web-app
  namespace: production
  labels:
    app: web-app
    platform: python
spec:
  replicas:
  selector:
    matchLabels:
      app: web-app
  template:
    metadata:
      labels:
        app: web-app
    spec:
      containers:
      - name: web-app
        image: XXXXXX/XXXXXX:XXXXXX
        imagePullPolicy: Always
        ports:
        - containerPort: 5000
apiVersion: v1
kind: Service
metadata:
  name: web-app
  namespace: production
spec:
  selector:
    app: web-app
  ports:
  - protocol: TCP
    port: 5000
    targetPort: 5000
  selector:
    run: web-app
kind: Ingress
metadata:
  name: name-virtual-host-ingress
  namespace: production
spec:
  rules:
  - host: first.bar.com
    http:
      paths:
      - backend:
          serviceName: web-app
          servicePort: 5000

kubectl获得全部-n产量

NAME                          READY   STATUS    RESTARTS   AGE
pod/web-app-559df5fc4-67nbn   1/1     Running   0          24m

NAME              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
service/web-app   ClusterIP   10.100.122.15   <none>        5000/TCP   24m

NAME                      DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/web-app   1         1         1            1           24m

NAME                                DESIRED   CURRENT   READY   AGE
replicaset.apps/web-app-559df5fc4   1         1         1       24m

kubectl获得-n生产

NAME                        HOSTS           ADDRESS   PORTS   AGE
name-virtual-host-ingress   first.bar.com             80      32s

kubectl获取ep web-app -n生产

NAME      ENDPOINTS   AGE
web-app   <none>      23m

1 个答案:

答案 0 :(得分:2)

您需要运行入口控制器。 https://kubernetes.io/docs/concepts/services-networking/ingress/#prerequisites的前提条件部分说:

  

您必须具有一个入口控制器才能满足入口。仅创建Ingress资源无效。

一个例子是https://kubernetes.github.io/ingress-nginx/deploy/。确保运行强制性命令以及与您的提供商有关的命令。然后,您可以获取该服务以查看分配的IP:

kubectl get -n ingress-nginx svc/ingress-nginx