GeekFactory

int128.hatenablog.com

2019-10-01から1ヶ月間の記事一覧

Cluster AutoscalerをPrometheusでモニタリングする

Cluster Autoscalerを運用していると,ノード数が増減した契機を調査したいことがあります.Cluster Autoscalerは大量のログを出力するため,闇雲にログを追うのは大変です.PrometheusとGrafanaでCluster Autoscalerの動作を可視化しておくと調査しやすくな…

ffmpegでmovをgifに変換する

QuickTimeで画面収録したmovファイルをgifファイルに変換する方法です。 Docker Hubの jrottenberg/ffmpeg イメージを利用します。以下を実行すると、サイズやフレームレートをそのままにしてファイルを変換します。 docker run --rm -v $PWD:/src jrottenbe…

実行中のゴルーチンでwg.Add(1)/eg.Go()を実行すると,Wait()は呼び出し後に追加されたゴルーチンも待ってくれるか?

Goで並行処理のコードを書いている時に以下の疑問が思い浮かびました. sync.WaitGroupを利用する場合,実行中のゴルーチンでwg.Add(1)を実行すると,wg.Wait()は呼び出し後に追加されたゴルーチンも待ってくれるか? errgroup.Grpupを利用する場合,実行中…

kube2iamをTerraformとHelmfileでデプロイする

Kubernetes workerをEC2インスタンスで実行する場合,何も設定しないとPodはEC2インスタンスのIAMロールを利用します.このままでは,攻撃者が悪意のあるイメージを利用して情報漏洩や破壊を行うリスクがあります.kube2iamを利用すると,Podに適切なIAMロー…

TerraformでNATインスタンスを管理する

個人のAWS環境でプライベートサブネット構成を検証したいけどNATゲートウェイに毎月3,500円も払えない*1ので,NATインスタンスのTerraformモジュール int128/nat-instance/aws を作りました.主な特徴はこちらです. Auto Scaling GroupによるAuto Healingに…

Argo CDでGitLab SSOを利用する

Argo CDは自前でユーザ管理の仕組みを持たず*1,外部のIdentity Providerに認証を移譲するという設計思想になっています.Argo CDのHelm chartにはDexがバンドルされており,様々なIdentity Providerと連携させることが可能です.本稿では,Argo CDでGitLab …