想通过 algocd-tutorial 上的 Ingress 连接

Wanna connect via Ingress on algocd-tutorial

目前正在处理本教程, https://github.com/argoproj/argocd-example-apps/tree/master/guestbook https://argoproj.github.io/argo-cd/getting_started/#5-register-a-cluster-to-deploy-apps-to-optional

我的短期里程碑是在浏览器上呈现留言簿的 UI。 我正在尝试通过 Ingress 连接,但出错了。

错误信息是这样的,

Status: 502
The server encountered a temporary error and could not complete your request.

我想服务和 pod 有问题。

留言簿-ui-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: guestbook-ui-service
spec:
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: guestbook-ui

留言簿-ui-ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: app-ingress
  labels:
    app: guestbook-ui
spec:
  rules:
    - http:
        paths:
          - path: /
            backend:
              serviceName: guestbook-ui-service
              servicePort: 80

留言簿-ui-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: guestbook-ui
spec:
  replicas: 1
  revisionHistoryLimit: 3
  selector:
    matchLabels:
      app: guestbook-ui
  template:
    metadata:
      labels:
        app: guestbook-ui
    spec:
      containers:
      - image: gcr.io/heptio-images/ks-guestbook-demo:0.2
        name: guestbook-ui
        ports:
        - containerPort: 80

我不知道我遗漏了哪一部分,请lmk任何不明确的部分或更多细节。 提前谢谢!

改用这个 service

apiVersion: v1
kind: Service
metadata:
  name: guestbook-ui-service
spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
  selector:
    app: guestbook-ui

添加了 type: NodePort

您可以查看关于如何部署应用程序、通过服务公开它并向其添加入口的非常好的示例。它在 kubernetes 文档 Deploy a hello, world app.

中可用

此外,如果您无法理解 NodePortClusterIPIngress 之间的区别,我建议您阅读 Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?