Kubernetes的YAML配置文件–kind
在 Kubernetes 的 YAML 配置文件中,kind:
字段用于指定你要創建的資源對象類型。Kubernetes 支持多種資源類型,它們可以分為以下幾大類:
一、核心資源類型(常用)
1. Pod
- 描述:最小的部署單元,包含一個或多個容器。
- 特點:臨時性(Pod 重啟后 IP 可能變化),通常由控制器管理。
kind: Pod
2. Deployment
- 描述:用于管理無狀態應用的副本集,支持滾動更新、回滾、擴縮容。
- 推薦用于生產環境中的大多數應用。
kind: Deployment
3. Service
- 描述:為 Pod 提供穩定的網絡訪問入口(如 ClusterIP、NodePort、LoadBalancer)。
- 解決 Pod IP 不穩定的問題。
kind: Service
4. ConfigMap
- 描述:用來存儲非敏感的配置數據,如環境變量、配置文件內容。
kind: ConfigMap
5. Secret
- 描述:用來存儲敏感信息,如密碼、token、密鑰等(Base64 編碼)。
kind: Secret
6. Namespace
- 描述:對資源進行邏輯隔離,實現多租戶管理。
kind: Namespace
二、工作負載控制器(Workload Resources)
7. StatefulSet
- 描述:用于管理有狀態應用(如數據庫),保證 Pod 有序部署、唯一網絡標識和持久化存儲。
kind: StatefulSet
8. DaemonSet
- 描述:確保每個節點(或符合標簽的節點)都運行一個 Pod 副本,常用于日志收集、監控代理(如 Fluentd、Prometheus Node Exporter)。
kind: DaemonSet
9. Job
- 描述:運行一次性任務,成功完成后 Pod 退出。
kind: Job
10. CronJob
- 描述:按定時計劃運行 Job(類似 Linux 的 crontab)。
kind: Cron