Kubernetes
https://gyazo.com/4e2996e937ecc70f7134a1b17ed86d2f
k8s_
website
github
#WIP
用語
Pod
レプリカ
ノード内で動作するPodのコピー
ローリングアップデート
アプリケーションの新しいバージョンを段階的にdeployし、
同時に古いバージョンのインスタンスを削除する更新方法
リソース管理
StatefulSet
名前やストレージを保持するステートフルなPodを管理する。
DaemonSet
全Nodeに1つずつPodを配置したい場合に使う(例: ログ収集)。
Job
一度だけ実行されるバッチ処理などに使う。
CronJob
定期実行されるジョブ。cron形式でスケジューリングできる。
Namespace
論理的な区切り。リソースの名前空間を分けることでマルチテナンシーや環境ごとの分離が可能になる。
設定・構成管理
ConfigMap
設定情報(文字列など)をPodに渡すための仕組み。
Secret
パスワードやAPIキーなどの機密情報を暗号化して保存・参照する。
ResourceQuota
Namespaceごとのリソース使用量の上限を設定する仕組み。
LimitRange
PodやContainerのリソース使用のデフォルト値や最大値・最小値を制限する。
ネットワーク関連
Service
Podへのアクセスを抽象化したエンドポイント。ロードバランシングも行う。
Ingress
HTTP(S)トラフィックのルーティングを行う。ドメインやパスベースで制御できる。
Ingress Controller
Ingressリソースを解釈して実際のルーティングを行うコントローラー(例: nginx-ingress)。
スケジューリング・制御
Scheduler
PodをどのNodeに配置するか決定するコンポーネント。
Controller Manager
DeploymentやJobなどのControllerを統合的に管理する。
API Server
Kubernetesの中心的なエントリポイント。すべての操作はここを経由する。
etcd
Kubernetesの状態情報を保持する分散キー・バリュー・ストア。
補助的な制御
Label
オブジェクトに付与するキー・バリュー形式のメタデータ。リソースの選択や分類に使う。
Selector
Labelを使ってPodなどを選び出すための条件指定。
Taint / Toleration
特定のNodeに対してPodのスケジューリングを制限したり許可したりする仕組み。
Affinity / Anti-Affinity
Podを一緒に配置する/避けて配置するためのルール。
https://qiita.com/yuanying/items/ceeeb7329a4fdc566546
https://speakerdeck.com/ytaka23/cloud-native-developer-jp-13th?slide=2
https://toris.io/2019/12/what-i-think-about-when-i-think-about-kubernetes-and-ecs/
https://www.tohoho-web.com/ex/kubernetes.html
とほほ
https://blog.cybozu.io/entry/2020/02/27/133725
https://speakerdeck.com/aoi1/inhuragaku-shou-demoda-zhang-fu-zhi-zhi-ju-kubernetes
紙芝居の概要
/mrsekut-book-4798183962/062 (2.1 Kubernetesとは?)
dockerでコンテナを使い倒したうえでの課題
障害発生時に、 各コンテナの設定 復旧をするのが大変
コンテナの仕様を個々に管理するのが大変
サーバが複数台あるときに、 どのサーバでコンテナを起動させるべきかを決めるのが大変
宣言型
IaC
Reconciliation Loop
障害から自動復旧
/mrsekut-book-4798183962/064
/mrsekut-book-4873119014/092
クラウドベンダー
/mrsekut-book-4798183962/073
GKE
Amazon EKS
AKS
ローカルクラスタ
minikube
kubernetes-sigs/kind
k3s
ブラウザ
Play with Kubernetes
Killercoda
Kustomize
自動車に使うMisaki
https://publickey1.jp/blog/20/kubernetesmisaki.html
F−16ジェット戦闘機に使う
https://www.publickey1.jp/blog/20/kubernetesf-16.html
https://blog.newrelic.co.jp/engineering/what-is-kubernetes/
https://speakerdeck.com/manabusakai/cloudnative-days-kansai-2019
https://qiita.com/baby-degu/items/ea95be49d1298b1c6a1b
https://github.com/kelseyhightower/kubernetes-the-hard-way
https://techbookfest.org/product/6311100052144128
https://blog.cybozu.io/entry/2020/02/12/120224
https://creators-note.chatwork.com/entry/2020/02/13/144318
https://blog.cybozu.io/entry/2020/02/27/133725
https://zenn.dev/esaka/articles/2d117655af1f03cf2444
https://thinkit.co.jp/article/17453
https://thinkit.co.jp/article/17535
https://thinkit.co.jp/article/17629