Kubernetes完全ガイド
https://gyazo.com/95e968a5619e34d516108783d04ff6b4
メモ
Workloads リソース
クラスタ上にコンテナを起動させるために利用する
Pod
リソースの最小単位。一つ以上のContainerからなる
ReplicationController (非推奨。ReplicaSetを使う)
ReplicaSet
指定した数のPodを維持し続ける。基本的にDeploymentから使用する
Deployment
ReplicaSetの上位リソース
DaemonSet
各NodeにPodを1つずつ配置する
StatefulSet
DBなどstatefullなワークロードに対応するPodを作成
Persistent Volumeを使うことで永続化できる
Job
一度限りの処理を実行するPod
バッチ処理に使う
CronJob
スケジュールされた時間にJobを作成する
直接利用するリソースは2つ
Service
ClusterIP
kubernetes クラスタ内からのみ疎通性がある Internal Network に作り出される仮想IPを割り当てる
ExternalIP
外部疎通性を確立する
NodePort
全ての kubernetes Node のIPアドレスで受信したトラフィックをコンテナに転送する
LoadBalancer
クラスタ外の LB に外部疎通性のある仮想IPを払い出す Headless (None)
対象となる個々の Pod のIPアドレスが直接返る
ExternalName
Service名の名前解決に対して、外部ドメインあてのCNAMEを返す None-Selector
kubernetes 内の自由な宛先にロードバランスできる
Ingress
パスベースルーティングとか
NodePort service へのトラフィックを定義する
resource
manifest で登録されるAPIリソース
controller
resource が kubernetes に登録された際に、何らかの処理を行うもの
Config / Storage
設定、機密情報、永続化ボリューム
Secret
機密情報の管理
分類
Generic
TLS
Docker registory
Service Account
コンテナから利用する場合
環境変数として渡す or Volume としてマウントする
ConfigMap
設定情報
PersistentVolumeClaim
永続化領域を利用する
Cluster
クラスタ自体の振る舞いを定義
Node
Namespace
仮想的なクラスタの分離機能
デフォルトではdefault, kube-system, kube-public が作成されている
PersistentVolume
ResourceQuota
ServiceAccount
Role
ClusterRole
RoleBinding
ClusterRoleBinding
NetworkPolicy
Metadata
クラスタ内の他のリソースを操作
LimitRange
HorizontalPodAutoscaler
PodDisruptionBudget
CustomResourceDefinition
ヘルスチェック
Liveness Probe
podが正常に動作しているか
失敗したらrestartPolicyに従って再起動
Readiness Probe
podがサービスインする準備ができているか
失敗したらトラフィックを流さない
UserAccount
ServiceAccount
Namespaceにひも付き、認証/認可を行う