【问题标题】:Kubernetes Ingress SetupKubernetes 入口设置
【发布时间】:2019-11-20 10:55:02
【问题描述】:

我尝试设置 Kubernetes Ingress 将外部 http 流量路由到前端 pod(路径 /)和后端 pod(路径 /rest/*),但我总是收到 400 错误,而不是主 nginx 索引。 html.

所以我尝试了页面 https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer 上的 Google Kubernetes 示例,但我总是收到 400 错误。有什么想法吗?

以下是前端“cup-fe”的部署描述符(使用 Angular 应用运行 nginx):

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: cup-fe
  namespace: default
  labels:
    app: cup-fe
spec:
  replicas: 2
  selector:
    matchLabels:
      app: "cup-fe"
  template:
    metadata:
      labels:
        app: "cup-fe"
    spec:
      containers:
      - image: "eu.gcr.io/gpi-cup-242708/cup-fe:latest"
        name: "cup-fe"

接下来是服务NodePort:

apiVersion: v1
kind: Service
metadata:
  name: cup-fe
  namespace: default
spec:
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    run: cup-fe
  type: NodePort

最后但并非最不重要的一点是,将前端暴露在外部的 Ingress:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: http-ingress
spec:
  rules:
  - host: cup-fe
    http:
      paths:
      - path: /
        backend:
          serviceName: cup-fe
          servicePort: 80
      - path: /rest/*
        backend:
          serviceName: cup-be
          servicePort: 8080

我留下了“cup-be”部署描述符(运行wildfly),因为它与“cup-fe”非常相似。另请注意,如果我创建 LoadBalancer 服务而不是 NodePort,我可以访问网页,但调用后端时遇到了一些 CORS 问题。

【问题讨论】:

  • 如果没有 YAML 清单就很难判断。请在此处发布您的清单。

标签: kubernetes google-kubernetes-engine kubernetes-ingress


【解决方案1】:

我假设您使用了错误的 selector run: cup-fe 整个特定服务配置。由于我在cup-fe 服务配置中将标签替换为app: cup-fe,因此相关的Pod endpoints 出现了,我也收到了成功的响应。

$ kubectl get ep | grep cup-fe|awk '{print $2}'
<IP_address>:80,<IP_address>:80

如果问题仍然存在,请告诉我并在我的答案下方发表评论。

【讨论】:

  • 感谢您的回复!完全没看懂,我尝试把部署描述符中的app:cup-fe标签换成app:fe,但是不行
  • 您在服务run: cup-fe 中使用了不同的选择器,这与部署配置中的任何标签都不匹配(app: cup-fe)。
  • 只需在服务中将run: cup-fe 替换为app: cup-fe 即可。
  • 如果您觉得我的回答有帮助并且问题不再存在,请接受回答。
猜你喜欢
  • 2018-10-07
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-03
相关资源
最近更新 更多