k8s pod 控制器
时间: 2025-08-05 07:53:31 浏览: 6
### Kubernetes Pod 控制器概述
#### 定义与作用
Kubernetes 中的 Pod 控制器是一种用于管理一组具有相同配置和功能的 Pod 的抽象机制。这些控制器通过定义期望状态来确保集群中的实际状态与此保持一致。常见的 Pod 控制器包括 Deployment、StatefulSet 和 DaemonSet。
#### 类型介绍
##### 1. **Deployment**
负责无状态应用的工作负载部署,支持滚动更新和回滚操作。当创建一个 Deployment 后,系统会自动启动所需数量的 Pod 实例,并监控其健康状况以维持指定副本数。
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: example-deployment
spec:
replicas: 3
selector:
matchLabels:
app: webserver
template:
metadata:
labels:
app: webserver
spec:
containers:
- name: nginx-container
image: nginx:latest
```
##### 2. **StatefulSet**
适用于有状态应用程序,能够为每个实例分配唯一的标识符并保证顺序启动/关闭行为。此外还提供了持久化存储卷声明的能力,使得即使 Pod 被重新调度也能恢复之前的数据。
```yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mysql-statefulset
spec:
serviceName: "mysql"
replicas: 2
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
volumeMounts:
- mountPath: /var/lib/mysql
name: storage-volume
volumeClaimTemplates:
- metadata:
name: storage-volume
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
```
##### 3. **DaemonSet**
确保所有(或某些特定)节点上都运行着某个容器化的守护进程。这对于日志收集服务、监控代理等功能特别有用。
```yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
containers:
- name: fluentd-elasticsearch
image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2
resources:
limits:
memory: 200Mi
requests:
cpu: 100m
memory: 200Mi
volumeMounts:
- name: varlog
mountPath: /var/log
- name: varlibdockercontainers
mountPath: "/var/lib/docker/containers"
readOnly: true
terminationGracePeriodSeconds: 30
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
```
#### 使用场景举例
对于希望实现高可用性的微服务体系结构而言,可以利用上述提到的不同类型的控制器组合起来构建复杂的应用程序栈。例如,在生产环境中通常会选择使用 Deployment 来托管前端 Web 应用;而对于数据库层则更适合采用 StatefulSet 方式来进行管理和维护[^1]。
阅读全文
相关推荐




















