外の Kubernetes クラスタで Knative serving を使用してサーバーレス ワークロードをデプロイして管理する前に Google Cloud、クラスタをフリートに登録する、Cloud Service Mesh をインストールするなど、環境が基本的な前提条件を満たしていることを確認する必要があります。Knative serving は、イベントドリブン型のコンテナベースのアプリケーションの開発とデプロイを簡素化します。これらのアプリケーションを独自のインフラストラクチャでホストできるため、環境間の移植性や、需要に応じた効率的な自動スケーリングなどのメリットが得られます。適切な権限の設定や必要な API の有効化など、環境を正しく構成することで、インストール プロセスを効率化し、Knative serving の機能を最大限に活用できます。インストールに進む前に、これらの重要な要件を確認してください。
Knative serving のコンポーネントの アクセス権限を確認し、理解します。
クラスタ、フリート、Cloud Service Mesh のインストール要件を満たすには、 Google Cloud プロジェクトに十分な権限があることを確認する必要があります。
- Google Cloud プロジェクトのオーナーのロールを持っている場合は、クラスタの作成、インストール、Knative serving の構成に必要な権限以上の権限を付与されています。
- Google Cloud の外部にある GKE クラスタでは、ほかの権限が必要になる場合もあります。クラスタのドキュメントと要件をご覧ください。
Cloud Service Mesh の権限要件も、Knative serving のインストールと構成に関するすべての権限要件を満たしているか注意してください。
他のロールの使用と最小要件:
組織によっては、次の事前定義ロールを組み合わせて権限要件を満たすこともできます。
Google Cloud プロジェクトの権限: 基本編集者のロール
フリートの権限: GKE Hub 管理者、または次の権限を含むロール。
gkehub.features.creategkehub.features.update
クラスタの権限: Kubernetes Engine 管理者のロール。
- Kubernetes Engine 管理者
- Kubernetes Engine クラスタ管理者
次の構成のクラスタが必要。
サポートされている Google Distributed Cloud クラスタ。Google Distributed Cloud クラスタの以前のインストールについては、Knative serving on VMware をフリートに移行する必要があります。
プレビュー: Google Cloud 外部の他の GKE クラスタ環境は現在、プレビュー版として利用できます。詳細については、こちらをご覧ください。
フリートに登録されていること。
クラスタを登録してフリートで Workload Identity Federation for GKE を有効にする方法については、クラスタの登録をご覧ください。 の外部 Google Cloud でサポートされているクラスタタイプは、デフォルトで登録されます。
クラスタ内 Cloud Service Mesh がインストールされている。 また、次の前提条件にも注意してください。
- 現在、Google が管理する Cloud Service Mesh コントロール プレーンは、Knative serving では完全にサポートされていません。代わりに、クラスタ内コントロール プレーンを使用します。
- Cloud Service Mesh では、クラスタで少なくとも 4 つの vCPU を備えたマシンタイプを使用する必要があります(
e2-standard-4など)。要件の詳細については、Cloud Service Mesh のインストール ガイドをご覧ください。既存のクラスタのマシンタイプを変更する必要がある場合は、異なるマシンタイプへのワークロードの移行をご覧ください。 - テストドメインの自動プロビジョニングを活用するために、Cloud Service Mesh は Ingress ゲートウェイと、Namespace
istio-systemのistio-ingressというサービスを使用します。機能のインストール中にゲートウェイの作成を有効にするには、asmcliインストール スクリプトの--option legacy-default-ingressgatewayを使用します。
プロジェクト Google Cloud で次の API を有効にする必要があります。
- Kubernetes Engine API: コンテナベースのアプリケーションを構築および管理します。
- Cloud Build API: ビルドを作成および管理します。
- Container Registry API: Container Registry 内のイメージを push および pull します。