k8s入门-DaemonSet控制器

DaemonSet 确保全部(或者一些)Node 上运行一个 Pod 的副本。当有 Node 加入集群时,也会为他们新增一个 Pod 。当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod。 使用 DaemonSet 的一些典型用法:

  • 运行集群存储 daemon,例如在每个 Node 上运行 glusterd、ceph。
  • 在每个 Node 上运行日志收集 daemon,例如filebeat、logstash。
  • 在每个 Node 上运行监控 daemon,例如 Prometheus Node Exporter、collectd、Datadog 代理、Zabbix Agent。

创建DaemonSet

DaemonSet的描述文件和Deployment非常相似,只需要修改Kind,并去掉副本数量的配置即可

[root@k8s-01 ~]# cat nginx-daemonset.yaml 
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: nginx-daemonset
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.13.12
        ports:
        - containerPort: 80

使用kubectl创建DaemonSet

[root@k8s-01 ~]# kubectl create -f nginx-daemonset.yaml 
daemonset.apps/nginx-daemonset created

查看Pod在Node上的分布

[root@k8s-01 ~]# kubectl get pod
NAME                        READY   STATUS             RESTARTS   AGE     IP             NODE     NOMINATED NODE   READINESS GATES
nginx-daemonset-5x66f       1/1     Running            0          2m13s   172.30.88.2    k8s-03   <none>           <none>
nginx-daemonset-v62tc       1/1     Running            0          2m13s   172.30.64.3    k8s-01   <none>           <none>
nginx-daemonset-vmrjh       1/1     Running            0          2m13s   172.30.224.3   k8s-02   <none>           <none>

[root@k8s-01 ~]# kubectl get daemonset
NAME              DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR   AGE
nginx-daemonset   3         3         3       3            3           <none>          3m

参考文章:
http://k8s.unixhot.com/kubernetes/daemonset.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!要在Kubernetes中使用DaemonSet部署Zabbix,您可以按照以下步骤进行操作: 1. 配置Zabbix容器镜像:首先,您需要创建一个包含Zabbix Server或Zabbix Agent的容器镜像。您可以使用Zabbix官方提供的Docker镜像或自定义镜像,根据您的需求选择合适的镜像。 2. 编写DaemonSet配置文件:创建一个名为`zabbix-daemonset.yaml`的配置文件,并在其中定义DaemonSet对象的规格。这个配置文件将指定Zabbix容器镜像、挂载卷、环境变量等配置。 以下是一个示例的`zabbix-daemonset.yaml`文件: ```yaml apiVersion: apps/v1 kind: DaemonSet metadata: name: zabbix-daemonset labels: app: zabbix spec: selector: matchLabels: app: zabbix template: metadata: labels: app: zabbix spec: containers: - name: zabbix image: your-zabbix-image:tag env: - name: ZBX_SERVER_HOST value: zabbix-server # 添加其他所需的环境变量 volumeMounts: - name: zabbix-data mountPath: /var/lib/zabbix volumes: - name: zabbix-data # 配置持久化数据存储 # 添加其他所需的挂载卷配置 ``` 请根据您的环境和需求修改这个示例配置文件。 3. 应用配置文件:使用kubectl命令将配置文件应用到Kubernetes集群中: ```shell kubectl apply -f zabbix-daemonset.yaml ``` Kubernetes将会创建一个DaemonSet对象,并在每个节点上创建一个Zabbix容器副本。 请注意,在部署之前,您需要确保在Kubernetes集群中已经配置好了Zabbix Server,并且能够通过`zabbix-server`的主机名进行访问。您还可以根据需要添加其他环境变量和挂载卷的配置。 希望这些信息对您有所帮助!如果有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值