以下では、シェル環境を設定し、Google Cloud Platform(GCP)プロジェクトで GKE クラスタを作成する方法について説明します。
ターミナル シェルを設定する
gcloud
ツールは GCP への主要なコマンドライン インターフェースを提供し、kubectl
は Kubernetes クラスタにコマンドを実行するための主要なコマンドライン インターフェースを提供します。
gcloud
とkubectl
がローカルシェルにインストールされていることを確認してください。gcloud
ツールは GCP への主要なコマンドライン インターフェースを提供し、kubectl
は Kubernetes クラスタにコマンドを実行するための主要なコマンドライン インターフェースを提供します。gcloud -h
kubectl -h
- これらのユーティリティがインストールされていない場合は、インストールしてください。
- Cloud SDK をインストールします。これには、
gcloud
コマンドライン ツールが含まれています。 - Cloud SDK をインストールしたら、次のコマンドを実行して
kubectl
コマンドライン ツールをインストールします。
gcloud components install kubectl
- Cloud SDK をインストールします。これには、
-
gcloud
ツールを使用して 2 つのデフォルト設定を構成します。1 つはデフォルトのプロジェクト、もう 1 つはコンピューティング リージョンです。gcloud
では使用するプロジェクトとコンピューティング ゾーンの指定が必要になるため、上の設定を行っておくことでgcloud
コマンドを実行しやすくなります。現在の設定を一覧表示するには:
gcloud config list
プロジェクトやコンピューティング ゾーンがリストにない場合は、次のコマンドを使用してこれらを追加する必要があります。リスト出力から、プロジェクトとコンピューティング リージョン(またはゾーン)を反映するために現在の設定を切り替える必要があると判断した場合には、次のコマンドも使用できます。
gcloud config set project project-id
gcloud config set compute/region compute-region
gcloud config set compute/zone compute-zone
ここで、project-id は GCP プロジェクトの名前、compute-region は GCP コンピューティング リージョンの名前、compute-zone は GCP コンピューティング ゾーンの名前です。例:
compute/region us-central1
。コンピューティング リージョンとコンピューティング ゾーンの一覧については、使用可能なリージョンとゾーンをご覧ください。
GKE クラスタを作成する
ここでは、GCP プロジェクト(gcloud config
コマンドで設定したプロジェクト)で Kubernetes クラスタを作成します。
次のコマンドを実行してクラスタを作成します。コマンドで指定されているマシンタイプ、ノード数、その他の設定により、トライアルの Apigee ハイブリッド インストールに適した最小限の構成のクラスタが作成されます。
gcloud container clusters create cluster-name \ --machine-type "n1-standard-4" --num-nodes "3" --enable-autoscaling --min-nodes "3" --max-nodes "6"
ここで、cluster-name はクラスタに付ける名前です。
クラスタの作成には数分かかることがあります。正常に完了すると、ステータスが RUNNING
である次のような出力が表示されます。
NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS apigee-hybrid us-central1-a 1.13.11-gke.9 35.222.54.89 n1-standard-4 1.13.11-gke.9 3 RUNNING
現在のコンテキストを設定する
コンテキストとは、アクセス パラメータのグループのことです。各コンテキストには 1 つの Kubernetes クラスタ、1 人のユーザー、1 つの Namespace が含まれます。現在のコンテキストとは、現在 kubectl
のデフォルトとなっているクラスタのことです。すべての kubectl
コマンドはこのクラスタに対して実行されます。
現在の gcloud
コンテキストが、先ほど作成したクラスタに設定されていることを確認します。
- まず、現在のコンテキストを判別するコンテキストを一覧表示します。次の例では、現在のコンテキストは
gke_hybrid-project_us-central1-a_apigee-hybrid
です。名前には、GCP プロジェクト名(hybrid-project
)、リージョンまたはゾーン(us-central1-a
)、クラスタ名(apigee-hybrid
)が含まれます。kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE * gke_hybrid-project_us-central1-a_apigee-hybrid gke_hybrid-project_us-central1-a_apigee-hybrid gke_hybrid-project_us-central1-a_apigee-hybrid gke_apigee-project_us-west1-a_apigee-cluster gke_apigee-project_us-west1-a_apigee-cluster gke_apigee-project_us-west1-a_apigee-cluster
- 必要に応じて、先ほど作成したクラスタ(Apigee ハイブリッドをインストールするクラスタ)に現在のコンテキストを設定します。前述の
get-contexts
の出力で、作成したクラスタ名がリージョンus-west1
のapigee-cluster
である場合、次のようにgke_apigee-project_us-west1-a_apigee-cluster
コンテキストに切り替えます。kubectl config use-context gke_apigee-project_us-west1-a_apigee-cluster
ここで
gke_apigee-project_us-west1-a_apigee-cluster
は、切り替え先のコンテキストの名前です。 - 現在のコンテキストが、意図したクラスタに設定されていることを確認します。次に例を示します。
kubectl config current-context gke_apigee-project_us-west1-a_apigee-cluster
クラスタ認証情報を付与する
クラスタ認証情報によって、クラスタで実行中のコンテナにアクセスできるようになります。認証情報を取得し、自分自身に cluster-admin ロールを付与します。
- 認証情報を取得します。
gcloud container clusters get-credentials cluster-name
ここで、cluster-name は作成したクラスタ(Apigee ハイブリッドをインストールするクラスタ)の名前です。
- クラスタロール バインディングを設定します。次のコマンドをこのとおりに実行します。
kubectl create clusterrolebinding cluster-admin-binding \ --clusterrole cluster-admin --user $(gcloud config get-value account)
まとめ
これで、GCP プロジェクトで Kubernetes クラスタが実行されている状態になりました。シェル環境が設定され、ローカルマシンに Apigee ハイブリッド ランタイム プレーン ソフトウェアをインストールする準備ができました。
1 (次)ステップ 2: apigeectl をインストールする 3 4