本文基于kubernetes 1.5.2版本编写
概念
DaemonSet能够让所有(或者特定)的节点运行同一个pod。
当节点加入到K8S集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被DaemonSet调度的pod会被移除,如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。
在某种程度上,DaemonSet承担了RC的部分功能,它也能保证相关pods持续运行,如果一个DaemonSet的Pod被杀死、停止、或者崩溃,那么DaemonSet将会重新创建一个新的副本在这台计算节点上。
一般应用于日志收集、监控采集、分布式存储守护进程、ingress等
例子
cat<< EOF > lykops-daemonset.yaml
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: lykops-daemonset
labels:
software: apache
project: lykops
app: lykops-daemonset
version: v1
spec:
template:
metadata:
labels:
name: lykops-daemonset
software: apache
project: lykops
app: lykops-daemonset
version: v1
spec:
containers:
- name: hostname
image: docker.io/kubernetes/serve_hostname:1.1
EOF
kubectl create -f lykops-daemonset.yaml
选择运行节点:当指定.spec.template.spec.nodeSelector,DaemonSet将会在匹配的节点上创建pod。如果都没有指定,DaemonSet在所有node节点上创建pod.
分享到:
相关推荐
- 部署和管理应用:创建和更新Deployment、StatefulSet、DaemonSet等对象,以定义和控制应用实例的数量和状态。 - 监控和调试:通过获取Pod、Service、Node等资源的状态,检查应用运行情况。可以使用`kubectl logs`...
- **控制器模式**:包括ReplicationController、ReplicaSet、Deployment、StatefulSet、DaemonSet、Job、CronJob等资源对象。 - **Taint和Toleration**:用于定义节点亲和性和排他性,实现更细粒度的调度控制。 - **...
此外,Controller如Deployment、StatefulSet、DaemonSet、ReplicationController和ReplicaSet负责应用的自动部署和扩展。Job和CronJob用于后台任务的调度,Horizontal Pod Autoscaling(HPA)则提供了动态调整Pod...
5. **DaemonSet**:确保所有或特定节点上都运行一个 pod 的副本,常用于运行守护进程,如日志收集或监控代理。 6. **ServiceAccount** 和 **ClusterRoleBinding/RoleBinding**:ServiceAccount 为 pods 提供 API ...
4. **部署 Calico 控制平面**:使用 `kubectl apply -f` 命令将 YAML 文件应用到集群,这会创建 Calico 的 Deployment、DaemonSet 和 ConfigMap 等资源。 5. **等待 Calico 启动**:在所有 Worker 节点上,Calico ...
- **DaemonSet**:确保特定 Pod 在集群中的每个或部分节点上运行。 - **Persistent Volume (PV)**:集群内的持久存储,具有独立生命周期。 - **Persistent Volume Claim (PVC)**:用户请求 Persistent Volume 的方式...
- **CRUD操作**:通过创建、读取、更新和删除(Create、Read、Update、Delete,简称CRUD)API调用来管理Kubernetes资源。 - **事件监听**:使用Watch API实时监控资源变化,实现自动化响应。 3. **Kubernetes集群...
Kubernetes支持多种资源类型,如工作负载类(Pod、ReplicaSet、ReplicationController、Deployment、StatefulSet、DaemonSet)、服务发现和负载均衡(Service、Ingress)、配置和存储(Volume、Persistent Volume、...
监控 Kubernetes 常⽤资源对象 Grafana 的安装使⽤ AlertManager 的使⽤ Prometheus Operator 的安装 ⾃定义Prometheus Operator 监控项 Prometheus Operator⾼级配置 ⽇志收集 ⽇志收集架构 搭建 EFK ⽇志系统 CI/...
- **DaemonSet**:确保所有(或某些)节点上运行一个Pod的副本。 - **Deployment**:用于定义应用的部署方式,支持滚动更新和回滚。 - **Ingress**:提供外部访问应用的方式,通常通过HTTP负载均衡器。 - **Job**:...
- **DaemonSet**: 确保所有(或某些)节点运行一个特定的Pod的副本。 #### 三、Kubernetes实战操作 1. **环境搭建**: 包括安装单机版Kubernetes以及使用Kubespray部署生产可用的Kubernetes集群。 2. **应用部署**:...
在Kubernetes(K8s)集群中,DaemonSet是一种特殊的控制器,它的主要任务是确保每个或者特定的节点上都运行一个Pod的副本。这种设计模式特别适用于那些需要在每个节点上运行的服务,例如日志收集、节点监控、网络插件...
- **Namespace**:逻辑上的分隔符,用于组织集群中的资源对象,如Pods、Services等。 - **Service**:定义了一个逻辑上的“服务”,它是对一组Pods的抽象引用,提供了一个稳定的服务地址。 - **Volume和...
Kubernetes的资源对象包括Pod、Service、Deployment、StatefulSet、Job、CronJob、DaemonSet等。Pod是Kubernetes的基本单元,一个Pod可以包含一个或多个容器。Service用于定义一组Pod的访问规则,它提供了Pod的负载...
- **DaemonSet**:确保集群中的所有节点或某些节点运行一个Pod的拷贝。 - **Deployment**:用于定义应用程序的部署状态。 - **Ingress**:管理进入集群的HTTP/S请求的规则。 - **Job**:创建一次性的任务。 - *...
- **DaemonSet**: 确保所有(或某些)节点上运行一个 Pod 的拷贝。 - **Deployment**: 管理应用的更新过程。 - **Ingress**: 规则集合,允许外部访问集群中的服务。 - **Job**: 创建一个或多个 Pod,并确保预期的 ...
Kubernetes支持多种资源对象,如ConfigMap(存储非敏感配置数据)、CronJob(定时任务)、CustomResourceDefinition(自定义资源)、DaemonSet(确保每个Node上至少运行一个Pod)、Deployment(声明式更新Pod)、...
在培训资料中,提到了几个关键主题:存储、网络、etcd以及Kubernetes资源对象。以下是对这些主题的详细解释: 1. **Kubernetes(K8s)**:由Google发起并贡献给Cloud Native Computing Foundation (CNCF),...