daemonset
daemonset(简称ds)和deployment类似,也是pod的控制器,区别在于daemonset会在所有节点(包括master)上创建一个pod。一般用于监控、日志等。系统中kube-proxy、 calico-node就属于ds。
- 创建damonset
mkdir ds
cd ds
kubectl create deployment ds1 --image=busybox --dry-run=client -o yaml -- sh -c "sleep 10000" > ds1.yaml
- 将kind字段修改为DaemonSet,damonset没有副本数选项,删除sepc里replicas字段,删除.spec里strategy: {},删除最后一行status: {}
vi ds1.yaml

- 应用此文件,可以看到ds在所有worker节点上生成了一个pod(master有污点没有生成pod)
kubectl apply -f ds1.yaml
kubectl get ds
kubectl get pod -o wide

- 删除
kubectl delete ds ds1

其他控制器
ReplicationController(rc)
ReplicaSet(rs)
使用方法和deployment基本一致。只是在yaml文件语法上以及是否支持集合式选择器上有差异。
| api | select | |
|---|---|---|
| deployment | apps/v1 | selector:matchLabels: |
| daemonset | apps/v1 | selector:matchLabels: |
| ReplicationController | v1 | selector: |
| ReplicaSet | apps/v1 | selector:matchLabels: |
DaemonSet是一种Kubernetes资源对象,用于确保所有(或某些)节点上运行一个副本的Pod。它常用于系统服务,如监控和日志收集。创建DaemonSet时,会忽略Master节点,除非移除其污点。与Deployment和ReplicaSet不同,DaemonSet不处理副本数量,而是针对每个节点创建一个Pod。可以使用kubectl命令进行创建、应用和删除操作。
3900

被折叠的 条评论
为什么被折叠?



