kubernetes上で単発のジョブを実行するツールを作った

kubernetesにはJobというリソースがある(CronJobもあるよ). このJobを使いたい用途が2つあった.

  1. デプロイ時のmigration等
  2. Rundeckからジョブを実行したい

というわけで,この2つを両方共満たせるものを作った.

github.com

続きを読む

できる限りterraformでリソース管理しつつkopsでkubernetesクラスタを作る

最近KubernetesクラスタAWS上に作っているのだが,EKSは結構お高い.

これはどうしても削れない,EKSの利用料金として,$0.20/hour持っていかれるためである. EKSだけでだいたい$144/monthかかることになる.

これは流石に痛いので,kopsでKubernetesクラスタを作ることにした.

kopsコマンドで簡単にクラスタが作れるよ!という記事は結構あるのだが,実運用していく上で結構カスタマイズしたい部分があったので,書き残しておく.

続きを読む

IstioでgRPCのリクエストを振り分ける

前回 はIstioでHTTPのリクエストを振り分けていたので,今度はgRPCを扱ってみようと思う. といっても基本的な構成はそんなに変わらない.

前回とほとんど同じような環境を使うので,

  • Helm
  • Istio
  • Auto injection

あたりの設定は終わっているものとする. また,今回も基本的にクラスタ内でマイクロサービス間通信を扱うことを前提にするため,外部との接続は行わない.

続きを読む

IstioでHTTPのリクエストを振り分ける

前回の記事で,Envoyの話をした. Envoy,すごく便利なのだがこの設定を全コンテナごとに書いてやるのはなかなかにめんどくさい. せっかくSidecarなのでもっと楽に差し込めたら良い.

あと,せっかくEnvoyを使っているので,static_resourcesだけじゃなくdynamic_resourcesをつかったカナリアリリースとかやってみたい.

というわけでIstioを使ってみる. この分野だとIstioは非常に筋がいいのだが,いまいち枯れてないので,本番導入するのはちょっと悩む……

Istio関連だと,公式で出しているBookinfoというアプリケーションを 動かしてみた という記事はたくさん見かけるんだけど,自分のアプリケーションでIstio組み込んだ記事が非常に少ない.

istio.io

ので,今回は自分で作ったサンプルアプリケーションをIstioの上で動かしてみる.もちろんKubernetesクラスタは構築済みという前提で話をすすめる.

続きを読む

EnvoyでgRPCをロードバランスする

gRPCサーバをサーバサイドでロードバランスしようと思う.

なお,この記事はKubernetesを前提にしている. ECSの場合これと同じ方法でうまく行かない気がしているので注意.

続きを読む