DaemonSet控制器
每个机器都要启动运行的pod,确保全部或一些node上运行pod副本
有node加入集群,会新增pod副本,反之,则会回收
删除DaemonSet将删除所有他创建的pod副本
应用: ceph节点,监控节点,filebeat日志收集等
系统服务 :kube-proxy 和 flannel
资源文件
[root@master ~]# vim mynginx.yaml #编写资源文件
---
kind: DaemonSet #控制器类型
apiVersion: apps/v1 #控制器版本
metadata: #元数据
name: mynginx #控制器名称
spec:
selector:
matchLabels:
myapp: nginx
template: 容器模板配置
metadata:
labels:
myapp: nginx
spec:
containers: #容器详细定义
- name: nginxcluster #容器名称 image: 192.168.1.100:5000/myos:nginx #使用镜像 stdin: false #交互式 tty: false #终端 ports: #端口定义 - protocol: TCP #协议 containerPort: 80 #端口 restartPolicy: Always #重启策略
[root@master ~]# kubectl apply -f mynginx.yaml #验证资源对象
daemonset.apps/mynginx created
[root@master ~]# kubectl get pod -o wide #查看详细信息
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES mynginx-2ftzf 1/1 Running 0 10s 10.244.1.7 node-0001 <none> <none> mynginx-8pmcn 1/1 Running 0 10s 10.244.2.9 node-0003 <none> <none> mynginx-9bmfg 1/1 Running 0 10s 10.244.3.7 node-0002 <none> <none> mypod 1/1 Running 2 2d22h 10.244.2.8 node-0003 <none> <none> testos-6d7c98965-jprtl 1/1 Running 3 3d3h 10.244.2.7 node-0003 <none> <none>
污点策略
NoSchedule 不会被调度---容器创建过程中
PreferNoSchedule 尽量不调度
NoExecute 驱逐节点----容器全过程