GKEで最安値のKubernetesクラスタを作る方法

GKEで最安値のKubernetesクラスタを作る方法

こんばんはエンジニアの眠れない夜です。

今日はGKEを使って最安値でKubernetesクラスタを作る方法をご紹介します。

Twitterで投稿したこちらを素に始めていきます。

何がすごいってGPCのインスタンスを80%OFFで使えるなんて凄すぎです!
圧倒的な安さです。ツイートの画像ではstandard-1が最小ですが、実はf1-microもプリエンプティブでインスタンスを起動できます。

fi-micro プリエンプティブ料金

1ヶ月使って2.56ドル

3台起動してもわずか7.95ドルです!

プリエンプティブVM(バーチャルマシン)とは

メリット
・とにかく安い。

デメリット

・最大24時間で勝手に停止する
・いつインスタンスがが停止するかわからない
・自分がほしいタイミングでインスタンスを起動できるかわからない。

と、まぁ恐ろしくサーバーには向かないプリエンプティブVMなのですが、

Kubernetesの自己修復機能を利用すればそれを克服できて、お値段80%OFFでインスタンスを利用できるなんて凄い!!という話です。

GKEで最安値のKubernetesクラスタのレシピ

今回やってみることは

プリエンプティブVMを3台
+普通のインスタンス(f1-micro 無料)の

合計4台を使ってKubernetesクラスタを作ろうという試みです。

1台普通のインスタンスを使っているのは3台とも同時に停止する可能性もあるので、念の為1台は普通のインスタンスを用意します。

無料枠で利用できる(us-central1)を使えばこの部分にお金はかかりません。

プリエンプティブVMの(f1-micro)3台で約8ドルです。

プリエンプティブVMをKubernetesで起動する

google-cloud-sdkをインストールしていなくてgcloudコマンドが使えないという方はこちらの記事を参考にしてください。

MacにCloud SDKをインストールする方法

 

いろいろ設定をしたり、アップデートをしたりしていますが、重要なのはたったの2行。この部分だけです。

# Create clustor and nodesとコメントを書いている部分だけです。

--zone $ZONE を指定しないと3つのゾーンで3台ずつインスタンスが起動し、9台のクラスターができあがります。
ゾーンの指定を忘れないようにしましょう。

逆にゾーンを指定せず、--num-nodes 3この部分1にすると
3つのゾーンで1台ずつインスタンスが起動します。

こちらのほうが冗長性は高そうですが今回はシンプルにしたかったので止めました。

そして出来上がったのがこちら1枚目がプリエンプティブVM

プリエンプティブVM k8s

2枚目が普通のインスタンス

プリエンプティブVM k8s

3枚目がクラスタ全体です。

プリエンプティブVM k8s 4台

クラスタサイズが4つになり
合計コア数 4個
合計メモリ2.4GB
になっています。

これが1ヶ月7〜8ドルで利用できるならかなりお得ですよね。

そして、何よりKubernetesの練習にはぴったりです!

これからKubernetesを使ってみようと言う方はぜひ試してみてくださいね。

 

追記:

CPUについて

4コア表示されていますが、f1-microがもともと0.2 vCPU なので4コアでようやく0.8 vCPUにスペックになるのではないかと思います。

f1-micro cpu 価格

メモリについて

f1-microはメモリ0.6GBなのでKubernetesを動かすのはちょっとしんどいです。メモリ不足でいろいろエラーが出やすいのでもう少し大きなインスタンスの使用がおすすめです。特に常時起動のサーバーはエラーが出るとややこしいです。

2 Comments

GitlabからGKEのKubernetesに接続する方法 | エンジニアの眠れない夜 へ返信するコメントをキャンセル

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください