Kubernetes管理サービスGoogle Container Engine、Google Container Registryの概要と使い方、Fluentdによるログ監視:Docker運用管理製品/サービス大全(4)(3/5 ページ)
数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。今回は、Google Cloud Platformで動くKubernetesの管理サービスであるGKEや、グーグル独自のDockerリポジトリであるGoogle Container Registryの概要や主な機能、環境構築方法、使い方について。
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
作成された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.
関連記事
- 所要時間わずか10分で「Docker」を体験しよう――Azureで始めるDocker入門
2014年から急速に注目度が増しているコンテナー型仮想化技術「Docker」。すでに多くのLinuxで利用可能な技術ですが、次期Windows Serverでもサポートされる予定です。Dockerとはどのようなものなのか、一度、実際に触って体験してみてはいかがでしょうか。 - Linux/OSSに不慣れでも大丈夫! WindowsでDockerを扱う際のポイント
本連載第31回は「Azureで始めるDocker入門」を掲載しました。掲載後、すぐに「Docker 1.6」がリリースされたので、意図したわけではありませんが、タイムリーな記事になったと思います。今回は、その記事でも紹介した「Docker Client for Windows」をフォローアップします。 - Docker代替のコンテナーランタイム「Rocket」をCoreOSが公開
CoreOSがDocker代替のシンプルなコンテナーランタイムを公開。Dockerの当初の目的であるシンプルなコンテナーを目指すプロトタイプだ。 - Docker、そしてCloud FoundryとPaaSの価値とは
Docker人気を踏まえたとき、Cloud Foundryはどのように位置付けられるのか。PaaSの最終的な価値とは何なのか。AWSとの競合とは。Cloud Foundryの責任者である米PivotalのJames Watters氏に聞いた。 - レッドハットが発表したOpenShift Enterprise 3は「Dockerを知らなくても使える」基盤
レッドハットが2015年7月22日に国内発表したPaaS製品「OpenShift Enterprise 3」の最大の狙いは、Dockerを知らなくてもアプリケーションの開発・運用ができるようにすることだという。ここでは、レッドハットの日本法人の説明に基づき、OpenShift Enterprise 3を紹介する。 - 米グーグルのDockerコンテナ管理サービスが一般提供開始
米グーグルがGoogle Cloud Platform上で提供しているDockerコンテナオーケストレーション/管理サービス、Google Container Engineが2015年8月26日、ベータ段階を終了、一般提供が開始された。毎週20億以上のコンテナを立ち上げているグーグルの経験に基づくサービスだとしている。