0

そのため、 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 recordsubdomain.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 ロードバランサがトラフィックを誘導しないためです。

それで、私は何を間違っていますか?\ これを機能させるには、他に何ができますか。アンバサダー エッジ スタックなどのサード パーティ製アプリを使用することはできません。

4

1 に答える 1