CNE GCP Ready: Getting Started
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

CNE GCP準備完了:初期環境のブートストラップ

の前提条件を完了したら、Cloud Native Experience (CNE) ブートストラップ プロセスを実行して、クリーンな Google Cloud Platform (GCP) プロジェクトから完全な GKE 環境をプロビジョニングします。

重要

クラウドネイティブエクスペリエンス(CNE)の初期プロビジョニングには、約45分かかります。

ブートストラッププロセスでは、TerraformとCrossplaneを使用して、複数のGCPマネージドサービスとプラットフォームコンポーネントをプロビジョニングします。 プロビジョニングは複数のフェーズにまたがって並行して行われ、すべての依存関係が正常な状態に達した後にのみ、環境が使用可能になります。

最も時間がかかるブロッキング手順は通常次のとおりです。

  • Google Kubernetes Engine (GKE) クラスターのプロビジョニング(約15分)
  • Cloud SQLデータベースのプロビジョニング(約10分)
  • GitOpsプラットフォームのインストール(Argo CD、Crossplane、外部シークレット)(約5分)
  • GitOpsリソースの調整(約3分)
  • Liferayインフラストラクチャのプロビジョニングとアプリケーションの起動(約15~20分)

Liferay が有効なサービス接続で起動するには、 LiferayInfrastructure リソースが Healthy を報告する必要があります。

プロビジョニング中はブートストラップ処理を中断しないでください。

ヒント

最初のデプロイメントでは、デフォルト設定を使用してブートストラッププロセスを実行します。

この初期導入により、Terraformで管理されるインフラストラクチャ、Crossplaneリソース、およびArgo CDによるGitOpsの調整を含む、プラットフォームの完全なベースラインが確立されます。

環境の検証が完了したら、必要に応じて本番ワークロードの設定値を調整し、ブートストラッププロセスを再実行できます。

ローカル環境を認証する

スクリプトを実行する前に、Google Cloudでターミナルを認証してください。

  1. gcloudで認証する:

    gcloud auth login
    
  2. アプリケーションのデフォルト認証情報を設定する:

    gcloud auth application-default login
    

    Terraformはプロビジョニング時にアプリケーションのデフォルト認証情報を使用します。

ヒント

プロビジョニング中に oauth2 invalid_grant または invalid_rapt エラーが発生して Terraform が失敗した場合は、アプリケーションのデフォルト認証情報を更新してください。

gcloud auth application-default login

Bootstrapディレクトリを準備する

ブートストラップ処理用の作業ディレクトリを作成します。 このディレクトリには、プロビジョニング中に使用されるブートストラップ構成とダウンロードされたTerraformリソースが保存されます。

mkdir cne-bootstrap
cd cne-bootstrap
touch config.json

Bootstrapを設定する

config.json ファイルは、環境の完全なプロビジョニング動作を定義します。

{
   "options": {
      "auto_approve": false,
      "parallelism": 10,
      "provider": "gcp",
      "version": "1.0.1"
   },
   "variables": {
      "deployment_name": "liferay-gcp-test",
      "liferay_git_repo_url": "https://github.com/clarity/acme-gitops",
      "project_id": "your-gcp-project-id",
      "region": "us-central1",
      "liferay_git_repo_config": {
         "auth": {
            "credentials_secret_name": "liferay-credentials-gitops"
         },
         "source_paths": {},
         "target": {}
      }
   }
}
重要

GitOpsリポジトリはArgo CDからアクセス可能である必要があります。

liferay_git_repo_config.auth.credentials_secret_name の値は、前提条件中に作成された Secret Manager のシークレットと一致する必要があります。 設定された値が一致していれば、どのような秘密命名規則を使用しても構いません。

オプション

オプション説明
providerインフラストラクチャプロバイダーを指定します。 有効な値: awsgcp
versionLiferayが提供するBootstrapバージョン。
auto_approvetrue に設定すると確認プロンプトをスキップします。
parallelismTerraformの同時実行操作の最大数を設定します。 デフォルトは 10 です。 APIのレート制限が発生したり、kubeapiが過負荷になったりする場合は、この値を小さくしてください。

利用可能なすべての GKE インフラストラクチャおよび GitOps 構成変数の完全なリストについては、 ブートストラップ構成リファレンス を参照してください。

変数

変数説明
deployment_nameプロビジョニングされたすべてのリソースに使用される識別子。
project_idインフラストラクチャが構築されるGCPプロジェクト。
regionすべてのリソースに対応するGCPリージョン。
liferay_git_repo_urlGitOpsリポジトリのURL。
liferay_git_repo_configGitOpsの認証およびデプロイ構成。
liferay_git_repo_config.source_pathsGitOpsリポジトリのソースマッピング(構造をカスタマイズしない限り、デフォルトのままにしてください)。
liferay_git_repo_config.targetArgo CDアプリケーションのターゲット設定(構造をカスタマイズしない限り、デフォルトのままにしてください)。

Bootstrapスクリプトを実行する

  1. ブートストラッププロセスを実行します。

    bash <(curl -sL https://raw.githubusercontent.com/liferay/liferay-portal/master/cloud/scripts/bootstrap.sh)
    

    このスクリプトは、Terraformを初期化し、インフラストラクチャをプロビジョニングし、GitOpsプラットフォームとLiferayリソースをデプロイします。

  2. auto_approve が無効になっている場合は、プロンプトが表示されたらプロビジョニング手順を確認してください。

    このプロセスには以下が含まれます

    • GKEクラスタのプロビジョニング
    • GitOpsプラットフォームの導入(Argo CD、Crossplane、外部シークレット)
    • Cloud SQLのプロビジョニング
    • Elasticsearch (ECK) のデプロイ
    • Liferay環境の初期化

ブートストラッププロセスは冪等性を持つ。 同じ config.json を使用してスクリプトを再実行すると、可能な場合は既存のリソースが再利用され、最後に成功した手順からプロビジョニングが再開されます。

Bootstrapプロセスを再実行する

プロビジョニングが失敗した場合は、 config.json を更新し、同じディレクトリからスクリプトを再実行してください。

  • 既存のリソースは、障害の段階に応じて再利用できる場合があります。

  • インフラの一部が既に存在している場合、再試行時に競合が発生する可能性があります。

失敗が続く場合は、再試行する前に環境をクリーンアップしてください。

ヒント

プロビジョニングまたはGitOps調整中に繰り返し障害が発生する場合は、トラブルシューティングガイドを参照してください。

アクセスアルゴCD

ブートストラップが完了すると、スクリプトはArgo CDの認証情報を出力し、ポートフォワーディングを開始します。

ブラウザで Argo CD を http://localhost:8080 で開きます。 ユーザー名 admin と、ターミナル出力に表示されているパスワードを使用してログインしてください。

後でポートフォワーディングを再起動する必要がある場合は、以下を実行してください。

kubectl port-forward service/argocd-server 8080:443 \
   --namespace argocd-system

パスワードを再取得する:

kubectl -n argocd-system get secret argocd-initial-admin-secret \
   -o jsonpath="{.data.password}" | base64 --decode

Argo CD ですべてのアプリケーションが 正常 かつ 同期済み に達すると、クラウドネイティブエクスペリエンス環境のプロビジョニングが完了します。 GCPインフラストラクチャ、Kubernetesクラスター、GitOpsプラットフォーム、およびLiferayランタイムは稼働中です。

デプロイメントを確認する

インフラストラクチャとLiferayワークロードを検証します。

kubectl get liferayinfrastructure --all-namespaces
kubectl get pods --all-namespaces -l app=liferay

LiferayInfrastructure リソースは 正常 を報告する必要があります。 Liferay ポッドは Running 状態になり、 Ready と報告する必要があります。

プロビジョニングされたLiferayネームスペースを識別するには:

kubectl get ns | grep liferay

クラウドネイティブエクスペリエンスの設定 に進んでください。