2017年2月8日水曜日

Google Container Engine を使ってみた

概要

Google Container Engine を使ってみました
簡単に試せるクイックスタートがあったのでそれをベースに試しています
なお、作業にあって料金の発生する作業を行うので注意して行ってください (これだけ試すのであれば 0 円だと思います)

プロジェクトの作成

ここ からプロジェクトの作成を行います
既存のプロジェクトでも問題ないです (今回は test-gke というプロジェクトを作成しました)
GKE を使う場合プロジェクトの課金が有効化されている必要があります
プロジェクトの課金の有効化で請求先アカウントを紐付けます
まだ請求先アカウントがない場合は、先にお支払から請求先アカウントを作成しておいてください (クレジットカードの登録などが必要です)
無料期間であれば不要かもしれません

プロジェクトの作成が完了するまで待ちましょう

クイックスタート

Cotainer Engine の画面でクイックスタートが出来るのでそれに従っていけば OK です
以下流れとポイントだけ

  1. コンテナクラスタの作成
    • クラスタ名は「cluster-1」にしました
    • マシンタイプは n1-standard-1 でいいと思います、この段階で料金が発生します
    • 作成が完了するまで待ちます
  2. 左メニューから「開発」を選択してレポジトリに gke-guestbook があることを確認します
  3. guestbook/redis-master-controller.yaml があることを確認しますn
  4. guestbook/redis-master-service.yaml があることを確認します
  5. Cloud Shell (ブラウザコンソール) ボタンを選択しコンソールを起動し以下を入力していきます
    • TUTORIALDIR=~/src/test-gke-158003/gke_guestbook-2017-02-07-12-32
    • git clone https://github.com/GoogleCloudPlatform/container-engine-samples.git $TUTORIALDIR
    • cd $TUTORIALDIR/guestbook
    • gcloud container clusters get-credentials cluster-1 --zone asia-east1-a
  6. Redis マスターのデプロイ
    • kubectl create -f redis-master-service.yaml
    • kubectl create -f redis-master-controller.yaml
  7. Redis スレーブのデプロイ
    • kubectl create -f all-in-one/redis-slave.yaml
  8. PHP のフロントエンドアプリのデプロイ
    • kubectl create -f all-in-one/frontend.yaml
  9. デプロイ内容の確認
    • kubectl get pods
    • kubectl get rc
    • kubectl get services
    • 最後のコマンドを実行すると kubernates が動作していることが確認できると思います
    • kubectl get services --watch
    • PHP のフロントエンドアプリが 80 ポートで動作していることを確認します
  10. 動作確認
    • frontend アプリが動作している EXTERNAL_IP にブラウザでアクセスして動作確認します
  11. クラスタの削除
    • Conteiner Engine に戻って作成したコンテナクラスタを削除すれば OK です
    • ごみ箱に残っているのでそっちも削除します

クイックスタート自体は非常に簡単なのですぐに終了すると思います

所感

触ってみた所感は以下の通りです

  • Cloud Shell がすごい便利
  • コンテナの定義は yaml ファイルで行う
  • コンテナの操作は kubernetes (kubectl) で行う
  • pods や rc, services などの kubernetes の概念を知る必要がある

Tips

  • pods が Pending となり起動しない場合

コンテナクラスタを作成するときにサイズを指定すると思います
このときサイズを 1 にするとうまく frontend のコンテナが起動しません
デフォルトだとサイズが 3 に設定されているのですが、クイックスタートを行う場合はそのままにしたほう吉です

最後に

Google Container Engine のクリックスタートをやってみました
クイックスタート自体は非常にわかりやすく特につまづくところもないのでスムーズに終わると思います

とりあえず操作の感覚はつかめたので次は自分で作成したイメージをデプロイしてみたいと思います

参考サイト

1 件のコメント:

  1. GCE は GKE になったのでクイックスタートはこちらを御覧ください
    https://cloud.google.com/kubernetes-engine/docs/quickstart

    返信削除