0

ポート 80 で Java Spring Boot Docker イメージを実行する GKE クラスタがあります。80 -> 80 および 443 -> 80 のような複数のポート マッピングを使用してロード バランサとして公開しました。

http と https の両方の URL がサービスの下にあることを確認できますが、http ポートでしかサービスにアクセスできず、https ではアクセスできません。「このサイトは安全な接続を提供できません」というメッセージが表示されます

https で公開するには、このロード バランサーに証明書を配置する必要があることを知っています。また、Google マネージド証明書を持っています。

私の問題は、この証明書をロード バランサーにインストールして、https でもアプリケーションにアクセスできるようにする方法がわからないことです。

4

1 に答える 1

0

Google マネージド証明書で GKE イングレスを使用しているため、ロードバランサーで手動で構成する必要はありません。イングレスで行うことができます。

公式ドキュメントでは、それを機能させるためのすべての手順を確認できます。

2つの前提条件があります。

  1. ドメインを所有している必要があります
  2. 静的 IP アドレスを作成する必要があります。

次の yaml を使用して証明書を作成できます。

apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
  name: certificate-name
spec:
  domains:
    - domain-name1

そして、アプリケーションへの NodePort としてサービスを作成します。次に例を示します。

apiVersion: v1
kind: Service
metadata:
  name: service-name
spec:
  selector:
    key: value
  type: NodePort
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080

最後に、以下の例を使用してイングレスを作成できます。

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-name
  annotations:
    kubernetes.io/ingress.global-static-ip-name: address-name
    networking.gke.io/managed-certificates: certificate-name
spec:
  backend:
    serviceName: service-name
    servicePort: service-port

自己証明書を Google マネージド証明書に移行する場合は、次の手順に従います。

于 2020-10-05T11:37:41.413 に答える