我正在尝试将我的argo工作流部署公开到一个域,但是当我访问域: argo.example.com时,我一直会得到服务器错误。我设置了一个GKE入口,并试图通过将http重定向到https来修复健康检查,这就是为什么我添加了一个自定义的FrontendConfig和BackendConfig。然而,我看到的健康检查"/“通过。请参见下面的配置。
argo-server命令args:
...
- args:
- server
- --namespaced
- --auth-mode
- server
- --secure
- "true"
...入口:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argo-ingress
annotations:
networking.gke.io/managed-certificates: "argo-cert"
networking.gke.io/v1beta1.FrontendConfig: argo-frontend-config
spec:
rules:
- host: argo.example.com
http:
paths:
- backend:
service:
name: argo-server-expose
port:
number: 2746
path: /*
pathType: ImplementationSpecific前部:
apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
name: argo-frontend-config
namespace: argo
spec:
redirectToHttps:
enabled: true后端:
apiVersion: cloud.google.com/v1
kind: BackendConfig
metadata:
name: argo-backend-config
namespace: argo
spec:
healthCheck:
checkIntervalSec: 30
timeoutSec: 5
healthyThreshold: 1
unhealthyThreshold: 2
type: HTTPS
requestPath: /
port: 2746服务:
apiVersion: v1
kind: Service
metadata:
name: argo-server-expose
namespace: argo
annotations:
cloud.google.com/neg: '{"ingress": true}'
cloud.google.com/backend-config: '{"ports": {"http":"argo-backend-config"}}'
spec:
type: NodePort
ports:
- name: http
port: 2746
protocol: TCP
targetPort: 2746
selector:
app: argo-server发布于 2022-12-31 02:46:32
不要使用GKE入口,这是一场噩梦。使用nginx控制器舵包代替。您必须配置如下内容:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: argo-ingress
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/backend-protocol: http
cert-manager.io/cluster-issuer: "letsencrypt"
spec:
rules:
- host: argo.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: argo-system-argo-workflows-server
port:
number: 2746
tls:
- hosts:
- argo.example.com
secretName: argo-tls-certhttps://devops.stackexchange.com/questions/16123
复制相似问题