そのため、 Googleマネージド証明書を使用してSSLを使用しているArgocdインストールがあります。
Argocd Ingress のドキュメントによると、これを行うための正式な方法は定義されていません。Google マネージド証明書を使用するために、次のマニフェスト ファイルを作成しました。
gcp-managed.yaml
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
name: gcp-managed
spec:
domains:
- subdomain.env.domain.com
argocd-ingress-1.yaml
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: argocd-ingress-1
annotations:
kubernetes.io/ingress.global-static-ip-name: argocd-static-ip
networking.gke.io/managed-certificates: gcp-managed
kubernetes.io/ingress.class: "gce"
spec:
backend:
serviceName: argocd-service
servicePort: 80
argocd-service.yaml
apiVersion: v1
kind: Service
metadata:
name: argocd-service
spec:
selector:
app.kubernetes.io/name: argocd-server
type: NodePort
ports:
- protocol: TCP
port: 80
targetPort: 8080
また、cloudflare を使用しているため、静的 IP をA record
subdomain.env.domain.com に追加しました。これで、Google マネージド証明書から (on , kubectl describe managedcertificate gcp-managed -n argocd
)
Status:
Certificate Name: certificate-unique-id
Certificate Status: Provisioning
Domain Status:
Domain: subdomain.env.domain.com
Status: FailedNotVisible
また、argocd-server のヘルス チェックが失敗し、上記の問題につながっています。これはFailedNotVisible
、ヘルス チェックに合格しない限り、GKE ロードバランサがトラフィックを誘導しないためです。
それで、私は何を間違っていますか?\ これを機能させるには、他に何ができますか。アンバサダー エッジ スタックなどのサード パーティ製アプリを使用することはできません。