第2章 Helm チャートを使用して GKE に Developer Hub をインストールする
Google Kubernetes Engine (GKE) に Developer Hub Helm チャートをインストールすると、Developer Hub インスタンスのデプロイメントがオーケストレーションされ、GKE エコシステム内で堅牢な開発者プラットフォームが提供されます。
前提条件
-
registry.redhat.ioにサブスクライブされている。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。 -
kubectlがインストールされている。詳細は、kubetl のインストール を参照してください。 - Google Cloud CLI がインストールされている。詳細は、gcloud CLI のインストール を参照してください。
- Google アカウントにログインし、GKE Autopilot クラスターまたは GKE Standard クラスターを作成している。
- Developer Hub インスタンスのドメイン名が設定されている。
- どの仮想マシンにも接続されていない静的な外部プレミアム IPv4 グローバル IP アドレスを予約している。詳細は、Reserve a new static external IP address を参照してください。
ドメイン名の DNS レコードが、予約済みの IP アドレスを指定するように設定されている。
注記IP アドレスと同じ値を持つ
Aレコードを作成する必要があります。このプロセスが伝播するまでに最大 1 時間かかる場合があります。- Helm 3 以降がインストールされている。詳細は、Installing Helm を参照してください。
手順
ターミナルに移動し、次のコマンドを実行して、Developer Hub チャートを含む Helm チャートリポジトリーを、ローカルの Helm レジストリーに追加します。
helm repo add openshift-helm-charts https://charts.openshift.io/次のコマンドを使用してプルシークレットを作成します。
kubectl -n <your-namespace> create secret docker-registry rhdh-pull-secret \1 --docker-server=registry.redhat.io \ --docker-username=<user_name> \2 --docker-password=<password> \3 --docker-email=<email>4 作成されたプルシークレットは、Red Hat Ecosystem から Developer Hub イメージをプルするために使用されます。
Ingress にアタッチする必要がある
ManagedCertificateオブジェクトを作成して、Google 管理の証明書を設定します。ManagedCertificateオブジェクトを Ingress にアタッチする例apiVersion: networking.gke.io/v1 kind: ManagedCertificate metadata: name: <rhdh_certificate_name> spec: domains: - <rhdh_domain_name>Google マネージド証明書の設定の詳細は、Google マネージド証明書の設定 を参照してください。
HTTPS にリダイレクトするためのポリシーを設定するには、
FrontendConfigオブジェクトを作成します。このポリシーを Ingress にアタッチする必要があります。FrontendConfigオブジェクトを Ingress にアタッチする例apiVersion: networking.gke.io/v1beta1 kind: FrontendConfig metadata: name: <ingress_security_config> spec: sslPolicy: gke-ingress-ssl-policy-https redirectToHttps: enabled: trueHTTPS にリダイレクトするポリシーの設定の詳細は、HTTP から HTTPS へのリダイレクト を参照してください。
次のテンプレートを使用して、
values.yamlという名前のファイルを作成します。values.yamlファイルの例global: host: <rhdh_domain_name> route: enabled: false upstream: service: type: NodePort ingress: enabled: true annotations: kubernetes.io/ingress.class: gce kubernetes.io/ingress.global-static-ip-name: <ADDRESS_NAME> networking.gke.io/managed-certificates: <rhdh_certificate_name> networking.gke.io/v1beta1.FrontendConfig: <ingress_security_config> className: gce backstage: image: pullSecrets: - rhdh-pull-secret podSecurityContext: fsGroup: 2000 postgresql: image: pullSecrets: - rhdh-pull-secret primary: podSecurityContext: enabled: true fsGroup: 3000 volumePermissions: enabled: true最新バージョンの Helm チャートと
values.yamlファイルを使用して Developer Hub をデプロイするには、ターミナルで次のコマンドを実行します。helm -n <your_namespace> install -f values.yaml <your_deploy_name> \ openshift-helm-charts/redhat-developer-hub \ --version 1.4.3最新の Helm チャートバージョンは、この Helm Charts リポジトリーを参照してください。
検証
デプロイメントが完了していることを確認します。
kubectl get deploy <you_deploy_name>-developer-hub -n <your_namespace>サービスと Ingress が作成されたことを確認します。
kubectl get service -n <your_namespace> kubectl get ingress -n <your_namespace>注記ManagedCertificateがプロビジョニングされるまで待ちます。このプロセスには数時間かかる場合があります。-
https://<rhdh_domain_name>を使用して RHDH にアクセスします デプロイメントをアップグレードするには、次のコマンドを使用します。
helm -n <your_namespace> upgrade -f values.yaml <your_deploy_name> openshift-helm-charts/redhat-developer-hub --version <UPGRADE_CHART_VERSION>デプロイメントを削除するには、次のコマンドを使用します。
helm -n <your_namespace> delete <your_deploy_name>