Kubernetes管理サービスGoogle Container Engine、Google Container Registryの概要と使い方、Fluentdによるログ監視Docker運用管理製品/サービス大全(4)(3/5 ページ)

» 2015年10月30日 05時00分 公開
[澤井健株式会社NTTデータ]

Google Cloud SDKを使用してクラスター環境を作成する手順

 先の「GKEを使いWordPressのコンテナーを作成する手順」ではブラウザーを使ってGKEのページよりクラスターを作成しましたが、ここからはGoogle Cloud SDKを使用してクラスター環境を作成します。「Guestbook」サンプルを実行しています。

Windows環境でGoogle Cloud SDKのセットアップ

 まずは、Google Cloud SDKのインストールを行います。下記リンクからインストールしてください。

 Google Clooud SDK Shellを起動し、下記のようにgcloudコマンドでGuestbookを作成します。

gcloud alpha container clusters create guestbook
実行結果1
実行結果2

 作成された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コマンドを実行する手順

 ローカルの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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。