@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Kubernetes on AWS」を読んだ

いつか読もうと思っていたのを本屋でみかけたので買ってしまった。

第1章 コンテナ技術の普及とKubernetes
第2章 Kubernetes 環境の構築とサンプルアプリケーションのデプロイ
第3章 Kubernetes でアプリケーションを動かす仕組み
第4章 本番運用に向けた考慮
付録A ツールの導入(Windows 編)
付録B ツールの導入(Mac 編)
付録C AWS アカウントとIAM ユーザの作成

最初の章ではコンテナの説明から入り、Kubernetes のコンセプトと用語の説明がされている。AWSKubernetes をマネージドで使用するためのサービスとしてAmazon EKS の説明がされている。そしてEKS の特徴としてVPC との統合によるネットワークの説明、IAM による認証認可の説明がされている。またデータプレーンをEKS から独立したEC2 を指定する、EKS に統合されたノードグループとしてのEC2 を使用する、EC2 の運用を開放されたFargate の使用ができることが紹介されている。

2章ではEKS クラスタにアプリケーションをデプロイするまでの手順が順番に紹介されている。アプリケーション、ここで作成するリソースの説明がまずはされている。その後実際にAWS リソースをCloudFormation を使用して作成していった。インフラが出来上がった後、kubectl コマンドを実行することでアプリケーションのデプロイまでを行う。実際にVPC やEKS クラスタにイメージ置き場のECR、その他にもデータベースとしてRDS やファイル置き場のS3などの作成を行う。AWS のリソースを順番に作りながら確かめていくのでコンテナについてだけではなくAWS についても少しは勉強できたので良かった。
3章ではKubernetes の動作と設定方法の説明がされていた。Pod、ReplicaSet、Deployment、CronJob、Jobなどの説明と設定方法が書かれていた。外からアクセスするためのService の説明、設定情報を使用するためにConfigMap、Secret の使い方が説明されている。Pod を安全に運用するために、立ち上がりを確認するReadiness Probe とLivenss Probe が、安全に停止するためのpreStop の紹介がされている。Pod を安全に立ち上げるための設定としてrequest とlimits についての説明もされていた。この章での説明でKubernetes 上でアプリケーションを動かす事ができるようになった。

最後の章では本番運用するために考慮するべきポイントがまとめられていた。CloudWatch Container Insights を使った監視、モニタリングの方法やCloudWatch Logs を使ってのログ管理。オートスケールによる安定化や、クラスタ、ノード、Pod でのセキュリティ考慮事項。GitOps によるクラスタ構成管理方法も紹介されている。その他にもクラスタのバージョンアップ対応手順や、Kubernetes を支えるエコシステムの紹介もいくつかされている。実運用する際には考えなきゃいけないことなどが書かれているので面白かった。

まとめ

  • Amazon EKS 上でアプリケーションを動かすことが試せた
  • 本番運用を行う際に考えることがいくつかまとめられているので勉強になった
  • 構成がいくつか考えられるのでそれぞれでの考慮事項については再度学ぼうと思った