Настройка ingress для kubernetes кластера

Начал изучать kubernetes. Разобрался как развертывать docker контейнеры. Сейчас пытаюсь настроить ingress и у меня возникли проблемы. Я развернул k3s кластер и взял 2 тестовых приложения. При попытке обращения к хостам прописанным в ingress вылезает 502 ошибка. Помогите разобраться что я сделал не так

Пытался играть с портами, прописывал хосты в /etc/hosts с ip адресом ingress. Не помогло

конфиги приложений:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app1
  labels:
    app: app1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app1
  template:
    metadata:
      labels:
        app: app1
    spec:
      containers:
      - name: hello-kubernetes
        image: paulbouwer/hello-kubernetes:1.10
        env:
        - name: MESSAGE
          value: Hello from app1
---
apiVersion: v1
kind: Service
metadata:
  name: app1
  labels:
    app: app1
spec:
  type: NodePort
  selector:
    app: app1
  ports:
  - port: 8080
    targetPort: 8080

и

apiVersion: apps/v1
kind: Deployment
metadata:
  name: app2
  labels:
    app: app2
spec:
  replicas: 1
  selector:
    matchLabels:
      app: app2
  template:
    metadata:
      labels:
        app: app2
    spec:
      containers:
      - name: hello-kubernetes
        image: paulbouwer/hello-kubernetes:1.10
        env:
        - name: MESSAGE
          value: Hello from app2
---
apiVersion: v1
kind: Service
metadata:
  name: app2
  labels:
    app: app2
spec:
  type: NodePort
  selector:
    app: app2
  ports:
  - port: 8080
    targetPort: 8080

настройка ингресс:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: simple-fanout-example
spec:
  rules:
  - host: app1.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app1
            port:
              number: 8080
  - host: app2.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: app2
            port:
              number: 8080

хост:

hostname -I
10.0.2.15 192.168.122.1 10.42.0.0 10.42.0.1

обращение по IP сервиса:

curl http://10.43.179.159:8080
<!DOCTYPE html>
<html>
<head>
<title>Hello Kubernetes!</title>
<link rel="stylesheet" type="text/css" href="/css/main.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:300" >
</head>
<body>

<div class="main">
<img src="/images/kubernetes.png"/>
<div class="content">
<div id="message">
Hello from app2
</div>
<div id="info">
<table>
<tr>
<th>namespace:</th>
<td>-</td>
</tr>
<tr>
<th>pod:</th>
<td>app2-6d86cf9844-cnk74</td>
</tr>
<tr>
<th>node:</th>
<td>- (Linux 4.18.0-305.19.1.el8_4.x86_64)</td>
</tr>
</table>
</div>
<div id="footer">
paulbouwer/hello-kubernetes:1.10.1 (linux/amd64)
</div>
</div>
</div>

</body>
</html>

вывод kubectl get all:

NAME READY STATUS RESTARTS AGE
pod/app1-85c9fcc5b-xzj8d 1/1 Running 1 18h
pod/app2-6d86cf9844-cnk74 1/1 Running 0 37m

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.43.0.1 <none> 443/TCP 20h
service/app1 NodePort 10.43.66.153 <none> 8080:30991/TCP 18h
service/app2 NodePort 10.43.179.159 <none> 8080:30904/TCP 37m

NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/app1 1/1 1 1 18h
deployment.apps/app2 1/1 1 1 37m

NAME DESIRED CURRENT READY AGE
replicaset.apps/app1-85c9fcc5b 1 1 1 18h
replicaset.apps/app2-6d86cf9844 1 1 1 37m

kubectl describe ingress simple-fanout-example:

kubectl describe ingress simple-fanout-example
Name: simple-fanout-example
Namespace: default
Address: 10.0.2.15
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
—— —— —------
app1.com
/ app1:8080 (10.42.0.5:8080)
app2.com
/ app2:8080 (10.42.0.22:8080)
Annotations: <none>
Events: <none>

Обращение через ingress:

curl -H "Host:app2.com" 10.0.2.15
Bad Gateway

Ответы (0 шт):