ステップ 1: GKE クラスタを作成する

以下では、シェル環境を設定し、Google Cloud Platform(GCP)プロジェクトで GKE クラスタを作成する方法について説明します。

ターミナル シェルを設定する

gcloud ツールは GCP への主要なコマンドライン インターフェースを提供し、kubectl は Kubernetes クラスタにコマンドを実行するための主要なコマンドライン インターフェースを提供します。

  1. gcloudkubectl がローカルシェルにインストールされていることを確認してください。gcloud ツールは GCP への主要なコマンドライン インターフェースを提供し、kubectl は Kubernetes クラスタにコマンドを実行するための主要なコマンドライン インターフェースを提供します。

    gcloud -h
    kubectl -h
  2. これらのユーティリティがインストールされていない場合は、インストールしてください。
    1. Cloud SDK をインストールします。これには、gcloud コマンドライン ツールが含まれています。
    2. Cloud SDK をインストールしたら、次のコマンドを実行して kubectl コマンドライン ツールをインストールします。
    3. gcloud components install kubectl
  3. 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.14.10-gke.27   35.222.54.89  n1-standard-4  1.14.10-gke.27          RUNNING

現在のコンテキストを設定する

コンテキストとは、アクセス パラメータのグループのことです。各コンテキストには 1 つの Kubernetes クラスタ、1 人のユーザー、1 つの Namespace が含まれます。現在のコンテキストとは、現在 kubectl のデフォルトとなっているクラスタのことです。すべての kubectl コマンドはこのクラスタに対して実行されます。

現在の gcloud コンテキストが、先ほど作成したクラスタに設定されていることを確認します。

  1. まず、現在のコンテキストを判別するコンテキストを一覧取得します。次の例では、現在のコンテキストは 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
    
    
  2. 必要に応じて、先ほど作成したクラスタ(Apigee ハイブリッドをインストールするクラスタ)に現在のコンテキストを設定します。前述の get-contexts の出力で、作成したクラスタ名がリージョン us-west1apigee-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 は、切り替え先のコンテキストの名前です。

  3. 現在のコンテキストが、意図したクラスタに設定されていることを確認します。次に例を示します。
    kubectl config current-context
     gke_apigee-project_us-west1-a_apigee-cluster

クラスタ認証情報を付与する

クラスタ認証情報によって、クラスタで実行中のコンテナにアクセスできるようになります。認証情報を取得し、自分自身に cluster-admin ロールを付与します。

  1. 認証情報を取得します。
    gcloud container clusters get-credentials cluster-name

    ここで、cluster-name は作成したクラスタ(Apigee ハイブリッドをインストールするクラスタ)の名前です。

  2. クラスタロール バインディングを設定します。次のコマンドをこのとおりに実行します。
    kubectl create clusterrolebinding cluster-admin-binding \
    --clusterrole cluster-admin --user $(gcloud config get-value account)

まとめ

これで、GCP プロジェクトで Kubernetes クラスタが実行されている状態になりました。シェル環境が設定され、ローカルマシンに Apigee ハイブリッド ランタイム プレーン ソフトウェアをインストールする準備ができました。

1 (次)ステップ 2: apigeectl をインストールする 3 4