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
  • thumbnail

    現在、研究室で利用するための KaaS 基盤(プライベートクラウド)を整備するべく、ベアメタル Kubernetes の構築に取り組んでいます。今回は、CNCF cloud native landscape にもある Rook/Ceph を使用して分散ストレージシステムを導入し、Amazon S3 や Google Cloud Storage に相当するオブジェクトストレージを自前で構築してみたので、その紹介です。

    Published on
  • thumbnail

    Kubernetes やクラウドネイティブな環境下での負荷試験において、Grafana Labs の k6 が注目されています。 k6 はコンテナフレンドリーな設計となっており、シナリオの定義も非常に容易です。 また、Kubernetes への導入には、オペレータ(k6-operator)を用いることで、大規模な負荷シナリオや分散実行、自動化されたパイプラインとの統合も可能です。今回のブログでは、モダンな負荷試験ツールである k6 を取り上げ、導入方法や負荷試験環境の構築についてまとめてみたいと思います。

    Published on
  • thumbnail

    こんにちは!れん(@ren510dev)です。今年も近所の桜が満開で、外に出ると香りが漂ってきます。夜は過ごしやすい気温だし、風も気持ち良いので 最近は毎日 1 時間程散歩をしています。健康に良いし、考えも整理出来るしで一石二鳥!丁度 1 年前の 2022 年 4 月 ~ 2022 年 7 月にかけて、インターンシップを始め就職活動を行い、計 40 社 以上の面談・面接を受けました。結果、多くの企業よりオファーを頂き、インターンの合格通知、内定を獲得することができました。最近では、25 卒の方から、選考対策・就活に関する相談を受けることも多くなってきたので、今回は当時を振りつつ、経験を踏まえてこれから就活を始める人に向けてメッセージを書いてみようと思います。

    Published on