Blog

技術の深掘り・日常など幅広く紹介してます

    All Posts
  • thumbnail

    こちらのブログでは Kubernetes における Pod の終了プロセスについて紹介しました。Kubernetes では、コンテナへの停止指示とネットワークトラフィックの遮断が非同期に進行します。Kubernetes のアーキテクチャ特有の挙動を考慮せずに実装を行うと、サービス停止時にリクエストのエラーや欠損を引き起こす原因となります。今回のブログでは、Go 言語での停止処理において中心的な役割を担う context パッケージの内部挙動と、net/http や gRPC サーバを安全に停止させるための具体的なコード実装について紹介したいと思います。

    Published on
  • thumbnail

    Web アプリケーションの運用において、デプロイやメンテナンスに伴うプロセスの再起動は避けて通れないイベントです。この際、実行中のリクエストを強制的に遮断することなく、安全に処理を完了させてから停止する仕組みを Graceful Shutdown と言います。特に Kubernetes 環境では、デプロイやオートスケーリングによって Pod の破棄と再作成が頻繁に行われます。そのため、単にアプリケーションコードで終了処理を書くだけでは不十分です。 Kubernetes がどのように Pod をネットワークから切り離し、コンテナを停止させるのかという Termination プロセスについて正しく理解した上で、アプリケーションを安全に停止させる設計が求められます。今回のブログでは Kubernetes がどのように Pod を停止・削除するのか、その内部プロセスと挙動について整理してみたいと思います。

    Published on