DaemonSet(DS)

DaemonSet类型的控制器可以保证集群中的每一台(或指定)节点上都运行一个副本,一般适用于日志收集,节点监控等场景,也就是说,如果一个pod提供的功能是节点级别的(每一个节点都需要且只需要一个),那么这类Pod就适合适用DaemonSet类型的控制器创建。

DaemonSet控制器的特点:

  • 每当向集群中添加一个节点时,指定的pod副本也将添加到该节点上
  • 当节点从集群中移除时,pod也就被垃圾回收了

下面先看看DaemonSet的资源清单文件

创建

apiVersion: apps/v1
kind: DaemonSet
metadata:
name: pc-daemonset
namespace: dev
spec:
selector:
matchLabels:
app: nginx-pod
template:
metadata:
labels:
app: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.17.1
#创建daemonSet
kubectl create -f

#查看daemonset
kubectl get ds -n dev -o wide
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE CONTAINERS IMAGES SELECTOR
pc-daemonset 2 2 2 2 2 <none> 67s nginx nginx:1.17.1 app=nginx-pod

# 也可以使用下面命令,查看pod在那个节点上
kubectl get pods -n dev -0 wide

注意:非原创,是跟着黑马视频学习一个字一个字敲出来的笔记

视频地址:

相关推荐