SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

コンテナを活用する精鋭たちが登壇! Kubernetesの使いどころや本番環境での注意点とは?【Container X mas Party】

プロダクションレディ Pods

 続く3本目のセッションは、ゼットラボの須田一輝さんです。発表資料はこちらに公開されています。

 このセッションは、タイトルのとおり「Kubernetesを使い始めて、そろそろプロダクション環境に適用しようという段階で起きうる、思わぬトラブルなどを回避するために注意する点を解説していきます」とセッションが始まりました。ちょうどこのあたりの段階だ、という対象者は多いのではないでしょうか。内容も実践的で非常に参考になるノウハウばかりでした。かいつまんでレポートしていきたいと思います。

 何より初めに、あくまでコンテナ=プロセスであって、プロセスの管理はそもそも難しく、これをちゃんと管理していくための方法がPodの設定に凝縮されている、と紹介されました。Podとはデプロイの最小単位で、ライフサイクルである、Building Containers > Scheduling > Running > Terminatingにあわせて解説が進んでいきます。

 このステップでは、まずは基本のベストプラクティスに従うのが吉! ということでThe Twelve-Factor Appの紹介です。

 よく言われるように、Dockerイメージを小さく、といった文脈において、またその中でもmulti-stage buildsのテクニックは有効とのこと。

 このステップでは、Kubernetes側はそのPodがどういうものなのか、どのくらいリソースを使うのか、をもちろん知らないので、そこはエンジニアがKubernetesへ設定を通して正しく教えてあげなくてはいけないとのこと。それを指定できるのが、resource requestsパラメータであり、その中でも、ephemeral-storageという、v1.13時点ではベータ版の機能に少し時間を割いていました。これはコンテナログなどに一時的に使われるストレージ領域のサイズを指定することができるとのこと。

 このステップは、アプリケーション開発者としては馴染みのある項目が多いかと思います。リクエストを受ける準備が終わる前にリクエストが来てしまう、あたりは特によく直面しますね。これに対してヘルスチェックをちゃんと設定して回避しましょう、といった内容でした。Liveness probeは一般的によくある監視方法ですね。その設定の中でも、initialDelaySecondsの秒については、起動に時間のかかる類のコンテナでは適切に設定する必要がある、とのことでした。

 DevOpsなどのキーワードでも言われるとおり、何度も繰り返し早くデプロイを繰り返す必要がある中で、当然ながらそのサイクルにはアプリケーションの終了というステップが必ずあり、ここに手を加えていないと、アプリケーション終了中に発生するエラーなどが目立ってきてしまうそう。ここでは「Podがいい感じに終了してくれるようにする設定」と表現されていましたが、まさにそんな設定群ですね。

 なお、Podの終了については須田さん執筆のこちらのQiitaを参照とのことです。こちらの記事もじっくり読みたくなる内容でした。

次のページ
オイシックスが18年間育てた既存システムをKubernetesで分解していく取り組み

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

平岡 一成(日本マイクロソフト)(ヒラオカ イッセイ)

 日本マイクロソフト株式会社 パートナー事業本部 クラウドソリューションアーキテクト。Azure導入のための技術支援を担当。 Twitter:@hoisjp

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/11342 2019/01/29 11:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー