ようへいの日々精進XP

よかろうもん

Terraform で GKE クラスタを構築する一例

この記事は

YAMAP エンジニア Advent Calendar 2020 の 11 日目になる予定です。

qiita.com

尚、今後の「一例シリーズ」では、以下のようなネタを用意しています。

  • Github Actions (CircleCI) で GKE にアプリケーションをデプロイする一例
  • CloudWatch Logs にテストで断続的にログイベントを放り込む一例

頑張るぞ。

tl;dr

Terraform で GKE クラスタを構築してみたのでメモしておきます。あくまでも一例ですので、あしからず :bowing_man: でお願いいたします。

尚、本記事で登場するツールのバージョンについては、以下の通りです。

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.15.7
BuildVersion:   19H15

$ terraform version
Terraform v0.13.5

一例

リポジトリ

github.com

この一例で作られるリソース

注意点

  • GCP プロジェクトそのもの Terraform で作れるらしいけど、どうやって作るのか調べきれなかった
  • 以下の API を有効にしてから、terraform apply する
  • クラスタを操作出来るサービスアカウントについては、以下の権限が必要だった
    • roles/resourcemanager.projectIamAdmin (sealed-secrets で作ったリソースを操作する際に必要だった)
    • roles/compute.admin
    • roles/storage.admin
    • roles/container.admin

以上

GKE そのものは、Terraform 的には、以下の 2 つのリソースで作れるというのは簡単で良いなあと思いました。

まだまだ、Kubernetes も GKE も GCP も解っていないので、引き続き勉強していきたいと思います。

参考