こんにちは。先日kubernetesの技術研修に行ってきました。その時のまとめをいくつかの記事に分けて書いていこうかなと思います。
初回はGKE(Google Kubernetes Engine)の使い方とプロジェクトを作成して、環境を整えkubernetesを使えるようにするところまで紹介しようと思います。
Kubernetesとは
Kubernetes(以下、k8s)とは何でしょうか。この辺の話題は次の記事で詳しく書こうと思うので、簡単にだけ説明します。
コンテナを使った宣言的な構成管理や自動化を促進するためのツールとしてk8sがあります。dockerの運用管理、自動化やスケールなどコンテナ運用に便利な機能がたくさん詰まっているソフトウェア基盤がk8sです。
GKEとは
GKEとはGoogle Cloud Platformのひとつです。
公式には以下のように書いてあります。
Google Kubernetes Engine は、Google のインフラストラクチャを使用して、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを行うマネージド環境を提供します。GKE 環境は複数のマシン(具体的には、Google Compute Engine インスタンス)で構成され、これらのマシンがグループ化されてクラスタを形成します。[1]
うーん、わかりそうでよくわからん?なんにせよ、お手軽に数クリックでk8s環境を構築することができブラウザがあれば簡単に参照することができます。
GKEデモ
実際に作ってみましょう。Googleアカウントがあれば作れます。
まずGKEにログインしてください。支払い等の設定があるかもしれませんがいくつもプロジェクトを作成しなければ支払いが発生することはないと思います。どの程度しようすれば支払いが発生するのかよくわかっていません(ザコ)が、
少なくとも、GKEの無料トライアルで1年間の使用(または3万円分のリソースの使用)が無料なので、しばらくは発生しません。
アカウントが作成出来たらプロジェクトを作成しましょう。(最初は"MyFirstProject"というプロジェクトが作成されると思いますがそれではなく新規に作りましょう)
以下のようにしていってください
プロジェクトに名前を付けます。なんでもいいです
プロジェクトが作成されました。
左上のメニューバーから[KubernetesEngine]>[クラスタ]と選択してください
クラスタを作成を押します
以下、クラスタの設定を行っていきます。
リージョンを設定してください。(asia-northeast1が東京です)
ノード数を選択します。デフォルトは3ですが、ノード数1で3台作成されるのでそんなにいらないので1にします。
自動スケーリングの設定を有効にし最大10台ほどにしておきます。
自動アップグレードは有効でいいと思います。
ブートディスクサイズもデフォルトは100GBですがそんなにいらないので20GB程度にします。
プリエンプティブノードは24時間立つと停止しますが、70%ほど安価に契約できるらしいです。
以上で作成しましょう。
cluster1というクラスタが作成できたと思います。
右上のstart shellボタンでシェルを有効にしshellにアクセスします。
上図のクラスタ右側の接続ボタンを押すと以下のようなポップアップが表示されるのでこれをコピーするかシェルで実行を押しシェルで実行します。
これでクラスタに接続することができます。
試しに以下のコマンドを打ってみましょう
# kubectl get nodes
実際に先ほど作成したノード3台が表示されていると思います。
これでセットアップは完了したので、k8sの環境を楽しむことができます。
今回はこの辺にしたいと思います。
参考文献
[1] GKEの概要 | Kubernetes Enginのドキュメント
https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview?hl=ja