问题描述
ArgoCD的新功能。我已经在带有AWS ALB控制器的EKS集群上部署了ArgoCD。
...
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/listen-port: '[{"HTTPS":443}]'
name: argo-ingress
namespace: argocd
spec:
rules:
- host: argocd.example.com
http:
paths:
- backend:
serviceName: argocd-server
servicePort: 80
path: /
鉴于SSL在ALB处终止,我使用具有以下参数的API服务器部署了API服务器:
spec:
containers:
- command:
- argocd-server
- --insecure
- --staticassets
- /shared/app
当我在群集上移植ArgoCD时,我能够在本地检索对象。
HTTP request sent,awaiting response... 200 OK
Length: 2080536 (2.0M) [application/javascript]
Saving to: ‘main.12b930b6a3d660c9da5a.js.2’
100%[===================================================================================================================>] 2,080,536 --.-K/s in 0.03s
2020-10-26 02:14:53 (64.2 MB/s) - ‘main.12b930b6a3d660c9da5a.js.2’ saved [2080536/2080536]
但是,当我使用浏览器访问UI时,得到200 MSG并得到空白的UI页面,并且main.js和图像出现400错误。 谁能帮我解决这个问题?
解决方法
我设法找到了问题。 入口控制器规则中有错别字。结果,所有请求都由最后一个ALB规则处理,结果为404。解决方法是在路径中包含“ *”。见下文:
...
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/listen-port: '[{"HTTPS":443}]'
name: argo-ingress
namespace: argocd
spec:
rules:
- host: argocd.example.com
http:
paths:
- backend:
serviceName: argocd-server
servicePort: 80
path: /*