PONCOTSU

インフラ領域を主にあれしてます

2021-01-01から1年間の記事一覧

Windows開発機では functions-framework-pythonのローカルエミュレータを動かせない

Cloud Functionsをそれなりに利用するようになると、動かす関数の信頼性・安全性を向上させる、あるいは開発体験を向上させるためにユニットテストをしっかり書くようにする・CIを回すようにするといった段階に進むことが多々あると思います。 そこで活用し…

CloudSQLのメンテナンスに対する運用を考える

CloudSQLを使っていると逃げきれない仕様の一つに定期メンテナンスがあります。 数ヶ月に一度、最大で90秒ほどDBインスタンスが落ちる仕様なため、プロダクション環境などでCloudSQLを利用していると、必然と90秒のメンテナンスによるサービスダウンが発生し…

複数コンテナを有するPodのHPA設定の挙動を深ぼる

HPAの設定ではDeployment単位で閾値を指定しているのに、扱うリソースはPodなので少しわかりづらいとおもったので、複数コンテナを有するPodに対してHPA設定をかけた場合の計算ロジック(詳細版)をまとめました。 HPAのreplicaset数算出方法を整理 公式を眺…

Pod内で複数コンテナを運用している場合のHPAの設定方法

要約すると「複数コンテナを有するPodに対してHPA設定をかけるなら、コンテナすべてにlimits設定をかけておきましょう。でなければ正常に機能しません」という些末な話になります。 課題 HPA設定を付与したリソースを確認しようと思いGKEのコンソール画面を…

DeepL opener PROのおかげで勉強効率が上がった話

先日、DeepL opener PROというchrome拡張機能が公開されたので、さっそく使ってみました。 この記事はこの拡張プラグインを使ってから1週間経った時点での感想記事になります。 DeepL opener PROとは何か 個人で契約したDeepL APIのAPIキーを入力すれば使え…

kubevalでmanifestのフォーマットをチェック

YAMLベースのドキュメントのコードレビューって、フォーマットのズレや期待していない値かどうかの確認で不備を見逃してしまい、あとあとリリース時の kubectl apply -f manifest.yaml などでうまく実行できずに焦ることが経験上、多いです。 今回はコードレ…

ServiceとPodだけでほぼダウンタイムゼロのリリースを実現する

ラベルを使ってPodを世代管理しておくと、Serviceを更新するだけでリリース(トラフィックルーティングを切り替える)を行なうことができて便利です。 要約 実装 Podにラベルを付与し、バージョン管理を行なう(dockerimageのタグと一致させておくとミスリー…