開発日報

窓際エンジニアの開発備忘。日報は嘘です。

【連載】Kubernates入門・GKEデプロイと発展的利用 第6回 ~ Google Kubernetes Engineのセットアップとクラスタ作成 ~

はじめに

この連載ではコンテナオーケストレーションツールである、 Kubernatesの使い方を学びます。
今回はGoogle Kubernetes Engineのセットアップを行います。

サンプルコード

こちらに順次アップしていきますー。

連載記事一覧

連載記事一覧

Google Cloud SDKのセットアップ

SDKのインストール

$ brew cask install google-cloud-sdk

コンポーネントのバージョンアップ

$ gcloud components update

gcloudの認証を行います

$ gcloud auth login

gcloudで操作する対象のプロジェクトIDを設定します。

$ gcloud config set project kube-test-XXXXX

デフォルトリージョンを設定します。asia-northeast1-aはGCPの東京リージョンのゾーンのことです。

$ gcloud config set compute/zone asia-northeast1-a

Kubernetesクラスタの作成

gcloudを用いて「gihyo」という名前でKubernetesクラスタを新規に作成します。

$ gcloud container clusters create gihyo --cluster-version=1.13.11-gke.14 \
    --machine-type=n1-standard-1 \
    --num-nodes=3

上記コマンドでエラーが出た場合

ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Kubernetes Engine API is not enabled for this project. Please ensure it is enabled in Google Cloud Console and try again: visit https://console.cloud.google.com/apis/api/container.googleapis.com/overview?project=kube-test-XXXXX to do so.

↑エラー出力されたURL 「https://console.cloud.google.com/apis/api/container.googleapis.com/overview?project=kube-test-XXXXX」にアクセスし、Kubernetes Engine APIを有効化しましょう。

作成されたクラスタは、以下のコマンドで確認できます。

$ gcloud container clusters describe gihyo

また、コンソールからも確認可能です。
Cloud ConsoleのKubernetes Engineのページをみてみましょう。

f:id:yuuu1993g:20191121000144p:plain

gcloudで作成したクラスタを制御できるようにするため、kubectlに認証情報を設定します。

$ gcloud container clusters get-credentials gihyo
Fetching cluster endpoint and auth data.
kubeconfig entry generated for gihyo.

kubectlでクラスタのノード一覧の取得を試し、GKEのノードが表示されればOK

$ kubectl get nodes
NAME                                   STATUS   ROLES    AGE   VERSION
gke-gihyo-default-pool-689ff9c3-22sl   Ready    <none>   12m   v1.13.11-gke.14
gke-gihyo-default-pool-689ff9c3-3g5w   Ready    <none>   12m   v1.13.11-gke.14
gke-gihyo-default-pool-689ff9c3-58bm   Ready    <none>   12m   v1.13.11-gke.14

最後に、作成したクラスタを削除します。

$ gcloud container clusters delete gihyo

まとめ

今回はGoogle Kubernetes Engineのセットアップとクラスタ作成を行いました。 次回は実施にアプリケーションをGKE上に構築してみましょう。