GKE (Google Kubernetes Engin) の使い方入門

こんにちは。先日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"というプロジェクトが作成されると思いますがそれではなく新規に作りましょう)

以下のようにしていってください

 

f:id:ken_memo:20200329192934p:plain

 

f:id:ken_memo:20200329192944p:plain

 

プロジェクトに名前を付けます。なんでもいいです

f:id:ken_memo:20200329192951p:plain

 

プロジェクトが作成されました。

f:id:ken_memo:20200329192958p:plain

 

左上のメニューバーから[KubernetesEngine]>[クラスタ]と選択してください

f:id:ken_memo:20200329193005p:plain

 

クラスタを作成を押します

f:id:ken_memo:20200329193009p:plain

 

以下、クラスタの設定を行っていきます。

リージョンを設定してください。(asia-northeast1が東京です)

f:id:ken_memo:20200329193015p:plain

 

ノード数を選択します。デフォルトは3ですが、ノード数1で3台作成されるのでそんなにいらないので1にします。

自動スケーリングの設定を有効にし最大10台ほどにしておきます。

f:id:ken_memo:20200329193024p:plain

 

自動アップグレードは有効でいいと思います。

f:id:ken_memo:20200329193030p:plain

 

 

ブートディスクサイズもデフォルトは100GBですがそんなにいらないので20GB程度にします。

プリエンプティブノードは24時間立つと停止しますが、70%ほど安価に契約できるらしいです。

f:id:ken_memo:20200329193036p:plain

 

以上で作成しましょう。

cluster1というクラスタが作成できたと思います。

f:id:ken_memo:20200329193047p:plain

 

右上のstart shellボタンでシェルを有効にしshellにアクセスします。

f:id:ken_memo:20200329193149p:plain

 

上図のクラスタ右側の接続ボタンを押すと以下のようなポップアップが表示されるのでこれをコピーするかシェルで実行を押しシェルで実行します。

これでクラスタに接続することができます。

f:id:ken_memo:20200329193156p:plain

 

f:id:ken_memo:20200329193208p:plain

 

試しに以下のコマンドを打ってみましょう

# kubectl get nodes

f:id:ken_memo:20200329192924p:plain

実際に先ほど作成したノード3台が表示されていると思います。

これでセットアップは完了したので、k8sの環境を楽しむことができます。

 

今回はこの辺にしたいと思います。

参考文献

[1] GKEの概要 | Kubernetes Enginのドキュメント

https://cloud.google.com/kubernetes-engine/docs/concepts/kubernetes-engine-overview?hl=ja