目录
Pod控制器
Pod控制器是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试 进行重启,当根据重启策略无效,则会重新新建pod的资源。
Pod 的分类:
自主式 Pod:Pod 退出后不会被创建
控制器管理的Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目
控制器类型:
1.Replication Controller和ReplicaSet
2.Deployment
3.DaemonSet
4.StatefulSet
5.Job
6.CronJob
7.HPA全称Horizontal Pod Autoscaler
控制器示例
1.Deployment
Deployment 为 Pod 和 ReplicaSet 提供了一个申明式的定义方法。
典型的应用场景: 用来创建Pod和ReplicaSet 滚动更新和回滚 扩容和缩容 暂停与恢复
[root@vm3 pod]# vim deployment.yml
[root@vm3 pod]# cat deployment.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
labels:
app: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:v1
ports:
- containerPort: 80
[root@vm3 pod]# kubectl apply -f deployment.yml
通过rs控制器标签来管理副本数量
修改标签后deployment,不会管理它,可以删除
kubectl label pod myapp-deployment-5c57bcf749-6cm4f --overwrite myapp=myapp