控制器:
Deployment:
Deployment概述:
replicaset:自动创建pod的控制器
Delpoyment控制器:
pod的名字需要唯一,在这不写名字,利用标签进行创建
replicas:表示你想要克隆的数量,selector:通过标签.识别哪个pod是我创建出来的.这里的标签和后面元数据里的标签要一致.
ClusterIP服务:
就可以访问集群ip达到访问到后端节点资源
Pod维护与管理:
如果集群后端节点出现故障断开,deployment立马会创建新的pod接替工作!
集群扩缩容:
一条命令就够了
kubectl scale deployment 控制器名称 --replicas=1
通过标签统计
历史版本信息:
#查看历史版本
kubectl rollout history deployment myweb
#添加注释信息
kubectl annotate deployments myweb kubernetes.io/change-cause="httpd.v1"
滚动信息:
版本回滚:
#历史版本与回滚
kubectl rollout undo deployment myweb --to-revision 1
#删除控制器方法1:删除控制器
kubectl delete deployments myweb
#删除控制器方法2:删除资源对象
kubectl delete -f mydeploy.yaml
DaemonSet:
Job资源对象模板生成:
kubectl create job myjob --image=myos:8.5 --dry-run=client -o yaml -- sleep 3
cronJob资源对象获取:
kubectl create cronjob mycj --image=myos:8.5 --schedule='* * * * *' --dry-run=client -o yaml -- sleep 3
容器里面没有时间,默认使用格林威治的时区,与上海时间相差8个小时
apiserver | schedule |
etcd | contallermanager: 负责管理控制控制器 |
资源对象案例:
---
kind: DaemonSet # 资源对象类型
apiVersion: apps/v1
metadata:
name: myds # 控制器名称
spec:
# replicas: 2 # 删除副本参数
selector:
matchLabels:
app: httpd
template:
metadata:
labels:
app: httpd
spec:
restartPolicy: Always
containers:
- name: webserver
image: myos:httpd
imagePullPolicy: Alway
污点干扰:
Job/CronJob:
Job控制器:
StateFulSet:
STS图例概述:
HeadLess服务:
无头服务:没有IP
资源对象文件:
访问STS资源:
通过Host 访问命令如下:
host mysts-0.mysvc2.default.svc.cluster.local 10.245.0.10
访问指定服务
弹性云服务:
HPA图例概述:
如果cpu用的比较满,那么cpu比较紧张,会缩容