このページでは、Google Kubernetes Engine(GKE)のアルファ版クラスタを作成する方法について説明します。このクラスタは、GKE で有効にした Kubernetes アルファ版の機能を使用できるクラスタです。また、クラスタ構成の選択とクラスタ アーキテクチャもご覧ください。
始める前に
作業を始める前に、次のことを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
- このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、
gcloud components update
を実行して最新のバージョンを取得する。
- クラスタを作成するための適切な権限があることを確認します。少なくとも、Kubernetes Engine Cluster 管理者である必要があります。
- アルファ版クラスタの制限事項を理解しておいてください。
GKE の IAM サービス アカウントを設定する
GKE は、ノードに接続されている IAM サービス アカウントを使用して、ロギングやモニタリングなどのシステムタスクを実行します。少なくとも、これらのノード サービス アカウントには、プロジェクトに対する Kubernetes Engine デフォルト ノード サービス アカウント(roles/container.defaultNodeServiceAccount
)ロールが必要です。デフォルトでは、GKE はプロジェクトで自動的に作成される Compute Engine のデフォルトのサービス アカウントをノード サービス アカウントとして使用します。
Compute Engine のデフォルト サービス アカウントに roles/container.defaultNodeServiceAccount
ロールを付与する手順は次のとおりです。
console
- [ようこそ] ページに移動します。
- [プロジェクト番号] フィールドで、 [クリップボードにコピー] をクリックします。
- [IAM] ページに移動します。
- [ アクセスを許可] をクリックします。
- [新しいプリンシパル] フィールドに次の値を指定します。
PROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
は、コピーしたプロジェクト番号に置き換えます。 - [ロールを選択] メニューで、[Kubernetes Engine のデフォルト ノード サービス アカウント] ロールを選択します。
- [保存] をクリックします。
gcloud
- Google Cloud プロジェクト番号を確認します。
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
PROJECT_ID
を実際のプロジェクト ID に置き換えます。出力は次のようになります。
12345678901
- Compute Engine のデフォルト サービス アカウントに
roles/container.defaultNodeServiceAccount
ロールを付与します。gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
PROJECT_NUMBER
は、前の手順で取得したプロジェクト番号に置き換えます。
アルファ版クラスタを作成する
アルファ版クラスタを作成するには、gcloud CLI または Google Cloud コンソールを使用します。
gcloud
次のコマンドを実行します。
gcloud container clusters create CLUSTER_NAME \
--enable-kubernetes-alpha \
--no-enable-autorepair \
--no-enable-autoupgrade \
--region COMPUTE_REGION
次のように置き換えます。
CLUSTER_NAME
: クラスタに付ける名前。COMPUTE_REGION
: クラスタの Compute Engine のリージョン。ゾーンクラスタの場合は、--zone COMPUTE_ZONE
オプションを使用します。--cluster-version VERSION
: (省略可)クラスタで実行する GKE のバージョンを指定します。省略した場合、クラスタは現在のデフォルト バージョンを実行します。現在のデフォルト バージョンについては、バージョニングとアップグレードをご覧ください。
Compute Engine のデフォルトのサービス アカウントの代わりに、ノードで使用できる最小権限の IAM サービス アカウントを指定することを強くおすすめします。最小権限のサービス アカウントを作成する方法については、最小権限のサービス アカウントを使用するをご覧ください。
gcloud CLI でカスタム サービス アカウントを指定するには、コマンドに次のフラグを追加します。
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
SERVICE_ACCOUNT_NAME は、最小権限のサービス アカウントの名前に置き換えます。
アルファ クラスタはアップグレードされず、30 日後に削除されるという警告が表示され、確認を求められます。
This will create a cluster with all Kubernetes Alpha features enabled.
- This cluster will not be covered by the GKE SLA and should
not be used for production workloads.
- You will not be able to upgrade the master or nodes.
- The cluster will be deleted after 30 days.
Console
Google Cloud コンソールで [Google Kubernetes Engine] ページに移動します。
[add_box 作成] をクリックします。
[クラスタの基本] セクションで、次の操作を行います。
- クラスタの名前を [名前] に入力します。
- [ロケーション タイプ] には [ゾーン] を選択し、クラスタに使用するゾーンを選択します。
- マルチゾーン クラスタを作成する場合は、[デフォルトのノードのロケーションを指定する] チェックボックスをオンにして、ノードプールを実行する追加のゾーンを選択します。
[リリース チャンネル] プルダウン リストで、[チャンネルなし] を選択します。
省略可: [バージョン] プルダウン リストからコントロール プレーンのバージョンを指定します。
省略可(GKE Enterprise で利用可能): 新しいクラスタをフリートに登録する場合は、[フリート登録] セクションに移動し、Google Cloud コンソールで新しいクラスタを作成して登録するの手順に沿ってクラスタの登録を完了します。
ナビゲーション ペインの [ノードプール] で [default-pool] をクリックします。
[ノードプールの詳細] セクションで、次の操作を行います。
- [名前] に、デフォルトのノードプールの名前を入力します。
- 省略可: ノードのバージョンを選択します。
- [ノード数] に、クラスタ内に作成するノードの数を入力します。ノードとそのリソース(ファイアウォール ルートなど)に使用できるリソース割り当てが必要です。
- 省略可: ノードの自動アップグレードを無効にすることもできますが、このオプションを選択する前に、ノードの自動アップグレードを無効にする際の考慮事項を確認することをおすすめします。
- [自動アップグレードを有効化] と [自動修復を有効化] をオフにします。
ナビゲーション パネルで、[ノードプール] の下の [ノード] をクリックします。
[イメージの種類] プルダウン リストから、ノードイメージを選択します。
インスタンスに使用するデフォルトのマシンの構成を選択します。マシンタイプごとに課金方法は異なります。デフォルトのマシンタイプは
e2-medium
です。マシンタイプごとの料金については、マシンタイプの料金表をご覧ください。[ブートディスクの種類] プルダウン リストから、ディスクの種類を選択します。
[ブートディスクのサイズ] を入力します。
省略可: ナビゲーション パネルで、[ノードプール] の下の [セキュリティ] をクリックします。
- 必要に応じて、ノードにカスタム IAM サービス アカウントを指定します。
- [詳細設定] ページで、[セキュリティ] セクションを開きます。
- [サービス アカウント] メニューで、目的のサービス アカウントを選択します。
Compute Engine のデフォルトのサービス アカウントの代わりに、ノードで使用できる最小権限の IAM サービス アカウントを指定することを強くおすすめします。最小権限のサービス アカウントを作成する方法については、最小権限のサービス アカウントを使用するをご覧ください。
ナビゲーション パネルの [クラスタ] の下の [機能] をクリックします。
[このクラスタで Kubernetes アルファ版の機能を有効にする] をクリックします。
[影響について理解しました] を選択して、警告を受け入れます。
[Create(作成)] をクリックします。
kubectl を使用してクラスタを操作する
クラスタを作成した後、コマンドラインからクラスタとやり取りするには、その前に kubectl
を構成する必要があります。
アルファ クラスタの有効期限を確認する
アルファ クラスタの有効期限を確認するには、次のコマンドを実行します。
gcloud container clusters list
次のステップ
- 作成できるクラスタのタイプについて確認する。
- クラスタの管理について学習する。
- クラスタを削除する方法を理解する。