繁体   English   中英

k3s、traefik、awx-operator 和入口

[英]k3s, traefik, awx-operator and ingress

我有一个三节点、本地、k3 集群。 我已经按照这些说明安装了 AWX: https://github.com/ansible/awx-operator

我可以通过在笔记本电脑上执行以下命令来访问 AWX 登录屏幕:

[red@mac.local ~]$ kubectl -n kube-system port-forward deployment/traefik 7080
Forwarding from 127.0.0.1:7080 -> 8052
Forwarding from [::1]:7080 -> 8052
Handling connection for 7080
...

我可以将浏览器指向 http://localhost:7080,我会看到 AWX 登录屏幕。 但我不知道如何为 AWX 设置入口。 我尝试了什么? 一大堆东西,但都没有用。

我最近一次创建入口的尝试使用了这个 yaml:

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: awx-demo-ingress
  # namespace: awx

spec:
  rules:
    - host: rocky
      http:
        paths:
          - path: /awx
            pathType: Exact
            backend:
              service:
                name:  awx-demo-service
                port:
                  number: 80

这会创建一个入口...

kube-system   awx-demo-ingress   traefik   localhost   10.0.3.51,10.0.3.52,10.0.3.53   80      12m

但是rocky无法解析任何 IP 地址,如果我将浏览器指向http://10.0.3.51/http://10.0.3.51/awx ,则会导致 404 错误。

我很接近,但我还是出了点问题......

$ kubectl describe ingress awx-demo-ingress -n kube-system
Name:             awx-demo-ingress
Labels:           <none>
Namespace:        kube-system
Address:          10.0.3.51,10.0.3.52,10.0.3.53
Ingress Class:    traefik
Default backend:  <default>
Rules:
  Host                         Path  Backends
  ----                         ----  --------
  rocky-k3-1.XXXXXXXXX.com
                               /login   awx-demo-service:80 (<error: endpoints "awx-demo-service" not found>)
Annotations:                   <none>
Events:                        <none>

我也试过这个...

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: awx-demo-ingress
  namespace: awx

spec:
  rules:
    - host: rocky-k3-1.XXXXXXXX.com
      http:
        paths:
          - path: /login
            pathType: Exact
            backend:
              service:
                name:  awx-demo-service
                port:
                  number: 80

$ kubectl describe ingress awx-demo-ingress
Name:             awx-demo-ingress
Labels:           <none>
Namespace:        awx
Address:          10.0.3.51,10.0.3.52,10.0.3.53
Ingress Class:    traefik
Default backend:  <default>
Rules:
  Host                         Path  Backends
  ----                         ----  --------
  rocky-k3-1.XXXXXXXXXX.com
                               /login   awx-demo-service:80 (10.42.1.9:8052)
Annotations:                   <none>
Events:                        <none>

但是如果我像这样做 curl...

$ curl http://rocky-k3-1.XXXXXXXX.com/login/
404 page not found

...我收到 404 错误。

事实证明,我在 ingress.yml 文件中使用了错误的路径。

          - path: /login

需要更改为

          - path: /

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM