Kubernetes
https://gyazo.com/4e2996e937ecc70f7134a1b17ed86d2f
用語
レプリカ
ノード内で動作するPodのコピー
アプリケーションの新しいバージョンを段階的にdeployし、 同時に古いバージョンのインスタンスを削除する更新方法
リソース管理
名前やストレージを保持するステートフルなPodを管理する。
全Nodeに1つずつPodを配置したい場合に使う(例: ログ収集)。
Job
一度だけ実行されるバッチ処理などに使う。
CronJob
定期実行されるジョブ。cron形式でスケジューリングできる。
Namespace
論理的な区切り。リソースの名前空間を分けることでマルチテナンシーや環境ごとの分離が可能になる。
設定・構成管理
設定情報(文字列など)をPodに渡すための仕組み。
Secret
パスワードやAPIキーなどの機密情報を暗号化して保存・参照する。
Namespaceごとのリソース使用量の上限を設定する仕組み。
PodやContainerのリソース使用のデフォルト値や最大値・最小値を制限する。
ネットワーク関連
Service
Podへのアクセスを抽象化したエンドポイント。ロードバランシングも行う。
HTTP(S)トラフィックのルーティングを行う。ドメインやパスベースで制御できる。
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を一緒に配置する/避けて配置するためのルール。
とほほ
紙芝居の概要
dockerでコンテナを使い倒したうえでの課題
障害発生時に、 各コンテナの設定 復旧をするのが大変
コンテナの仕様を個々に管理するのが大変
サーバが複数台あるときに、 どのサーバでコンテナを起動させるべきかを決めるのが大変
宣言型
IaC
障害から自動復旧
クラウドベンダー
ローカルクラスタ
ブラウザ
F−16ジェット戦闘機に使う