先の「GKEを使いWordPressのコンテナーを作成する手順」ではブラウザーを使ってGKEのページよりクラスターを作成しましたが、ここからはGoogle Cloud SDKを使用してクラスター環境を作成します。「Guestbook」サンプルを実行しています。
まずは、Google Cloud SDKのインストールを行います。下記リンクからインストールしてください。
Google Clooud SDK Shellを起動し、下記のようにgcloudコマンドでGuestbookを作成します。
gcloud alpha container clusters create guestbook
作成されたclusterの情報を確認します。
gcloud alpha container clusters list gcloud alpha container clusters describe guestbook
続いて、「Guestbook」サンプルからGuestbook.zipをダウンロードします。
Guestbook.zipをGoogle Clooud SDKのローカルフォルダーにコピーして、コマンドでVMインスタンスへコピーします。
gcloud compute copy-files guestbook.zip k8s-guestbook-master:/tmp
解凍したフォルダーを/root/workに移動させ、そのパスを環境変数「CONFIG_DIR」に設定します。
export CONFIG_DIR=/root/work/guestbook/
k8s-guestbook-masterインスタンスにブラウザーでログインしredis-master-podを作成します。
kubectl create -f $CONFIG_DIR/redis-master-pod.json
kubectlコマンドでPodが「Running」になっていることを確認します。
kubectl get pods
k8s-guestbook-node-1にブラウザーでログインし、docker psコマンドでコンテナーが作成されていることを確認します。
sudo docker ps
redis-master-serviceを作成します。
kubectl create -f $CONFIG_DIR/redis-master-service.json kubectl get services
redis-worker-controllerを作成します。
kubectl create -f $CONFIG_DIR/redis-worker-controller.json kubectl get rc
redis-worker-serviceを作成します。
kubectl create -f $CONFIG_DIR/redis-worker-service.json kubectl get services
guestbook-controllerを作成します。
kubectl create -f $CONFIG_DIR/guestbook-controller.json kubectl get rc
guestbook-service.jsonを作成します。
kubectl create -f $CONFIG_DIR/guestbook-service.json kubectl get services
guestbook-service.jsonの内容は下記の通りです。
{ ""id"": ""guestbook"", ""kind"": ""Service"", ""apiVersion"": ""v1beta1"", ""port"": 3000, ""containerPort"": ""http-server"", ""selector"": { ""name"": ""guestbook"" }, ""labels"": { ""name"": ""guestbook"" }, ""createExternalLoadBalancer"": true }
「createExternalLoadBalancer」はGKEによって拡張された部分です。ロードバランサーを作成します。
下記はGCP上に作成されたロードバランサーです。
ファイアウオールの3000ポートを解放します。
gcloud compute firewall-rules create guestbook-node-3000 --allow=tcp:3000 --target-tags k8s-guestbook-node
セットアップされた外部接続用のIPを確認します。
gcloud compute forwarding-rules list
外部接続用のIPのポート3000番でアクセスできることを確認します。
ローカルのLinuxでkubectlコマンドを実行する場合は下記の手順で行います。
まずは、Google Clooud SDKとalphaをインストールします。
curl https://sdk.cloud.google.com | bash gcloud components update alpha gcloud components update
Google Clooud SDKの認証情報を入力します。
gcloud auth login
プロジェクト情報を入力します。
gcloud config set project containertest20150522
クラスター情報を入力します。
gcloud config set container/cluster cluster-1
kubectlコマンドでPodの生成などを実行します。
gcloud alpha container kubectl get pods
Copyright © ITmedia, Inc. All Rights Reserved.