コンテンツにスキップ

Kubernetes 主要リソース

Kubernetes はリソースの種類が多いが、最初はよく使うものだけ押さえれば十分。

ワークロード系

  • Pod: コンテナを動かす最小単位
  • Deployment: Pod を指定数だけ維持する
  • StatefulSet: 順序や永続名が必要なワークロード向け
  • DaemonSet: 各ノードに 1 個ずつ置きたいもの向け
  • Job: 1 回で終わる処理
  • CronJob: 定期実行する処理

通信系

  • Service: Pod への安定した入口
  • Ingress: HTTP/HTTPS の公開ルール
  • NetworkPolicy: 通信制御ルール

設定・分離系

  • Namespace: 論理分離
  • ConfigMap: 設定値
  • Secret: 機密情報
  • ServiceAccount: Pod が API を使うときの実行主体

ストレージ系

  • PersistentVolume (PV): 永続ボリューム
  • PersistentVolumeClaim (PVC): ボリューム要求
  • StorageClass: ストレージの払い出し方法

最初の理解で十分なこと

  • アプリ配備は Deployment
  • 通信は Service
  • 外部公開は Ingress
  • 設定は ConfigMap / Secret
  • 永続化は PVC

メモ

  • Pod を直接作るより、通常は上位リソース経由で管理する
  • DB のような状態を持つものは StatefulSet が候補になる
  • ログ収集や監視エージェントは DaemonSet で見ることが多い