|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
Google Compute Engine クラスターの作成
このセクションでは、Rancher を使用して Google Cloud Platform (GCP) 上で Google Compute Engine (GCE) を通じて RKE2 または K3s Kubernetes クラスターをプロビジョニングする方法を学びます。
まず、Rancher UI で GCE ノードドライバーを有効にします。次に、必要な権限を持つ GCP サービスアカウントを作成し、JSON キーファイルを生成する手順に従います。このキーファイルは、Rancher でクラウドクレデンシャルを作成するために使用されます。
次に、Rancher で GCE クラスターを作成し、クラスターを構成する際に、マシンプールを定義します。各マシンプールには、etcd、controlplane、または worker の Kubernetes ロールがあります。Rancher は新しいノードに RKE2 をインストールし、マシンプールによって定義された Kubernetes ロールで各ノードを設定します。
前提条件
-
有効な Google Cloud Platform アカウントとプロジェクト。
-
GCP サービスアカウントの JSON キーファイル。このキーに関連付けられたサービスアカウントは、次の IAM ロールを持っている必要があります:
-
Compute Admin
-
Service Account User
-
ビューア
-
-
VM をプロビジョニングするための VPC ネットワーク。
サービスアカウントキーの作成と管理に関する詳細は、 GCP ドキュメントを参照してください。
GCE ノードドライバーを有効にする
GCE ノードドライバーは、Rancher ではデフォルトで有効になっていません。GCE クラスターをプロビジョニングしたり、GCE 特有の CRD を操作したりする前に、有効にする必要があります。
-
☰ > クラスター管理をクリックします。
-
左側にあるドライバーをクリックします。
-
ノードドライバータブを開きます。
-
Google GCEドライバーを見つけて、⋮ > 有効化を選択します。
クラウド資格情報を作成します。
-
☰ > クラスター管理をクリックします。
-
クラウド資格情報をクリックします。
-
[作成]をクリックします。
-
Googleをクリックします。
-
GCP サービスアカウントの JSON キーファイルを入力してください。
-
[作成]をクリックします。
結果:クラスター内のノードをプロビジョニングするために使用されるクラウド資格情報を作成しました。これらの資格情報は他のクラスターでも再利用できます。サービスアカウントに付与された権限に応じて、この資格情報は GKE クラスターでも使用される場合があります。
クラウド資格情報を使用してクラスターを作成します。
-
☰ > クラスター管理をクリックします。
-
クラスターページで、作成をクリックします。
-
Google GCEをクリックします。
-
クラウド資格情報を選択し、VM を作成する GCP プロジェクトを指定してください。
-
クラスター名を入力してください。
-
各Kubernetesロールごとにマシンプールを作成してください。役割の割り当てと数に関する推奨事項については、[ベストプラクティス](use-new-nodes-in-an-infra-provider.md#node-roles)を参照してください。
-
各マシンプールごとに、マシンの構成を定義してください。構成オプションに関する情報については、Google GCEマシン設定リファレンスを参照してください。
-
-
インストールするKubernetesのバージョン、使用するネットワークプロバイダー、およびプロジェクトネットワークの分離を有効にするかどうかを選択するには、クラスター構成を使用してください。クラスターの構成に関するヘルプについては、RKE2およびK3sクラスター構成リファレンスを参照してください。
-
クラスターのユーザー認可を構成するには、メンバー役割を使用してください。メンバーを追加をクリックして、クラスターにアクセスできるユーザーを追加してください。各ユーザーの権限を設定するには、役割のドロップダウンを使用してください。
-
[作成]をクリックします。
結果:
クラスターが作成され、状態がプロビジョニングに割り当てられました。Rancherがクラスターを立ち上げています。
状態がアクティブに更新された後、クラスターにアクセスできます。
アクティブなクラスターには、2つのプロジェクトが割り当てられています:
-
Default、`default`名前空間を含む -
System、cattle-system、traefik、kube-public、および`kube-system`名前空間を含む
GCEベストプラクティス
外部ファイアウォールルール、オープンポート、およびACE
プロビジョニングされるクラスターがAuthorized Cluster Endpoint (ACE)機能を利用する場合、コントロールプレーンノードはポート`6443`を公開する必要があります。このポートは、すべてのクラスター ノードに公開されるのを防ぎ、Rancher によって作成されるファイアウォールルールの数を減らすために、デフォルトのマシンプール構成では公開されていません。
ACEが期待通りに機能するためには、マシンプール構成UIの`Show Advanced`セクションの下にある`Expose external ports`チェックボックスを有効にして、Rancher UIでコントロールプレーンマシンプールを構成する際にこのポートを指定する必要があります。または、GCPでカスタムファイアウォールルールを手動で作成し、関連するネットワークタグをコントロールプレーンマシンプール構成に提供することもできます。
内部ファイアウォールルール
Rancherは、指定されたVPCネットワーク内でクラスター ノード間の通信を容易にするために、ファイアウォールルールとネットワークタグを自動的に作成します。このルールには、RKE2/K3sクラスターを作成するために必要な最小限のポートが含まれます。
クラスター ノード間で内部に公開されるポートの数を拡張する必要がある場合は、新しいファイアウォールルールを手動で作成し、関連するマシンプールに関連付けられたネットワークタグを割り当てる必要があります。必要に応じて、クラスターを作成または更新する際に、各マシンプールに対して内部ファイアウォールルールの自動作成を無効にすることができます。
オプションの次のステップ
クラスターを作成した後、Rancher UIを通じてアクセスできます。ベストプラクティスとして、クラスターにアクセスするためのこれらの代替方法を設定することをお勧めします:
-
kubectl CLIを使用してクラスターにアクセスする:これらの手順に従って、ワークステーションでkubectlを使用してクラスターにアクセスしてください。この場合、Rancherサーバーの認証プロキシを通じて認証され、その後Rancherがダウンストリームクラスターに接続します。この方法を使用すると、Rancher UIなしでクラスターを管理できます。
-
認可されたクラスターエンドポイントを使用して、kubectl CLIでクラスターにアクセスします:これらの手順に従って、Rancherを介さずにkubectlでクラスターに直接アクセスします。Rancherに接続できない場合でもクラスターにアクセスできるように、この代替方法を設定することをお勧めします。