1.1.复制控制器 (replicationcontroller rc) : 让你的pod的副本数,保存在你的预期值 , 几乎不用了做副本用
提前编辑好文件
1.创建
kubectl apply -f replicationcontroller-nginx.yaml
2.查看
kubectl get pod
3.删除一个pod并立即查看pod状态
kubectl delete pod nginx-9g78r -n default
4.删除 replicationcontroller
kubectl delete -f replicationcontroller-nginx.yaml
标签选择器 :》标签
标签定义的方式:
基于等时的定义
基于键值对定义方式:app: nginx
基于集合的标签定义方式: (key: app,operator In,values:[nginx])
app:nginx
app:apache
2.1复制集控制器
deployment (部署) (无状态集控制器)
滚动更新,他能够管理复制集控制器
2.创建RS
kubectl create -f replicaset-example.yaml //提前编辑好yaml
查看
kubectl get pod
删除
kubectl delete -f replicaset-example.yaml
3.1无状态服务:nginx, apache, [tomcat] 特性:不会在本地存储持久化数据,没有依赖性
1.编写Deployment
vim nginx-deployment
2.使用kubectl create创建Deployment
kubectl create -f nginx-deployment.yaml
3.查看状态
kubectl get deploy
4.使用rollout查看整个Deployment的创建过程状态
kubectl rollout status deployment/nginx-deployment
5.查看这个Deployment 对应的RS
kubectl get rs -l app=nginx
6.查看Deployment创建的pod
kubectl get pods --show-labels
3.2更新Deployment
7.更新pod的image
kubectl set image deployment nginx-deployment nginx=nginx:1.9.1 --record
kubectl set image deployment nginx-deployment nginx=nginx:1.12.0 --record
(3)查看某次更新的详情
kubectl rollout history deployment/nginx-deployment --revision=2
4)回滚到指定版本
kubectl rollout undo deployment/nginx-deployment --to-revision=2
查看:
kubectl rollout history deployment/nginx-deployment
(5)回滚到上次版本
kubectl rollout undo deployment/nginx-deployment
4:扩容 deployment
(1)调整 pod 的副本数
kubectl scale deployment.v1.apps/nginx-deployment --replicas=3
查看
kubectl get pods
有状态集控制器:,mysql,redis,kafka 有依赖
有两种删除方式
非级联删除:kubectl delete statefulset redis-sts --cascade=false
级联删除: kubectl delete statefulset redis-sts
(2)创建 statefulset
kubectl create -f redis-statefulset.yaml
(3)查看statefilset 状态
kubectl get sts
(4)查看群集状态
kubectl get service
kubectl get poapp=redis-sts
2:statefulset扩容
(1)扩容,将副本数修改为 3
kubectl scale sts redis-sts --replicas=3
守护进程集控制器 (缩写ds)
特点:副本数和node节点数相同
3:创建 Daemonset
kubectl create namespace dev
kubectl create -f daemonset-nginx.yaml
4:查看 Daemonset
kubectl get ds -n dev -o wide
5.删除DaemonSet
kubectl delete ds pod-controller -n dev
五:CronJob
Cronjob(计划任务,缩写为 cj)用于以时间为基准的周期性地执行任务,这些自动化任务和运行在 Linux系统上的 CronJob 一样
1:创建 cronJob
(2)创建cronjob
kubectl create -f cronjob-example.yaml
(3)查看
kubectl get cj
等待一会后可以查看生成的 pod