Wanna connect via Ingress on algocd-tutorial

3/6/2020

Currently processing on this 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

My short-term milestone is to render guest-book's UI on browser. I'm trying to connect via Ingress, and it went wrong.

Error message's like this,

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

I suppose something's wrong around service and pod.

guestbook-ui-svc.yaml

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

guestbook-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

guestbook-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

I don't know which part I am missing, please lmk any ambiguous part or more detail. Thanks, in advance!

-- Taruya
argocd
kubernetes
kubernetes-ingress

1 Answer

3/6/2020

Use this service instead.

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

It has type: NodePort added to it.

You can check really good example on how to deploy an app, expose it via a service and add an ingress to it. It's available in kubernetes docs Deploy a hello, world app.

Also if you are having problem understanding the difference between NodePort, ClusterIP and what Ingress is I recommend reading Kubernetes NodePort vs LoadBalancer vs Ingress? When should I use what?

-- Crou
Source: StackOverflow