2018年6月25日月曜日

GCP Kubernetesクラスタの作成方法(nginx編)

GCPのコンテナオーケストレーションツール「Google Kubernetes Engine(GKE)」を使った
ネットワーク負荷分散のクラスターを作成を行う説明を記載する。


◾️利用リージョンの確認
最初にgcloudのデフォルト値・環境変数を設定を行なっていきます。

1)自分の [プロジェクト ID] を設定し、GCPの [ゾーン] と [リージョン] を選択する
必要があるので、利用可能なリージョン一覧を"Cloud Shell"より実行を行なってみる。

$ gcloud compute regions list



[プロジェクト名]
wordpress-204708
個人で、生成したプロジェクト名

[ゾーン名]
asia-northeast1-a 
”gcloud compute regions list”で、入力したゾーン一覧から選んだ:[a~c] のいずれか任意ゾーンを入力。

選択対象の各ゾーンについては、以下の表を参考にする。

[リージョン名]
asia-northeast1


◾️gcloudのデフォルト値を設定を行う。


$ gcloud config set project wordpress-204708 [プロジェクト名]
$ gcloud config set compute/zone asia-northeast1-a [ゾーン名]
$ gcloud config set compute/region asia-northeast1[リージョン名]
$ gcloud config list

◾️環境変数の設定

1)以下の手順で、環境変数の入力を行っていく。
$ export CLUSTER_NAME="httploadbalancer"

$ export ZONE="asia-northeast1-a" 
上記のデフォルト値で設定した同じゾーン

$ export REGION="asia-northeast1" 
上記のデフォルト値で設定した同じリージョン

[gcloud のデフォルト値] と [環境変数]で設定する値は
ゾーン と リージョンで同じ値にしないと Error になるので注意すること!!


◾️GKEでkubernetesクラスタの作成を行う。
1)例として、「5ノード(5インスタンス)」を起動してみる。

$ gcloud container clusters create networklb --num-nodes 5


Creating cluster networklb...done.という表示が出ると作成が成功になる。

2)kubernetes Engineからclustersを選択する。


3)以下、作成できていることを確認できる。



◾️Kubernetes に nginx をデプロイする

1)以下のコマンドを実行する。
$ kubectl run nginx --image=nginx --replicas=5
上記のように”created”が表示されていることを確認。

2)先ほど、5台のnginxをデプロイできたか確認を行ってみる。
$ kubectl get pods -owide

◾️nginx を 外部に公開する
1)負荷分散トラフィックを 5個のnginx インスタンスに送るネットワーク ロードバランサーを
作成を行います。

$ kubectl expose deployment nginx --port=80 --target-port=80 \
--type=LoadBalancer


◾️ネットワークロードバランサーのアドレスを確認

1)以下のコマンドで、ロードバランサのアドレスを確認してみる。
$ kubectl get service nginx


2)EXTERNAL-IPに表示されているIPアドレスをブラウザで叩いて
下記の表示になれば成功です。


◾️kubernetesの削除方法

以下、手順で上記に作成したkubernetesの削除方法の手順になる。
(同様にコントローパネルからも削除は可能。)
Cloud shellにて、以下のコマンドを実施すること!

1)サービスの削除を行う。
$ kubectl delete service nginx

2)レプリケーションコントローラの削除を行う。
$ kubectl delete deployment nginx

3)クラスターの削除を行う。
$ gcloud container clusters delete networklb

0 件のコメント:

コメントを投稿

php log(ECS ログ出力)

# PHPエラーログの設定 ENV PHP_INI_DIR /usr/local/etc/php RUN { \ echo 'log_errors = On' ; \ echo 'error_log = /proc/self/...