検索
連載

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

数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。今回は、Google Cloud Platformで動くKubernetesの管理サービスであるGKEや、グーグル独自のDockerリポジトリであるGoogle Container Registryの概要や主な機能、環境構築方法、使い方について。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

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.

ページトップに戻る