【07】Kubernets:资源清单(控制器 - DaemonSet)
写在前面的话
前面讲解了 Pod / ReplicaSet / Deployment 的资源清单,我们这里谈一下 DaemonSet 的资源清单。
之前说过,DaemonSet 控制器能够保证资源在每个节点上都运行一个,这意味着该服务对于系统资源监控和日志收集非常实用。
DaemonSet 资源清单
和 ReplicaSet 简称 rs,Deployment 简称 deploy 一样,DaemonSet 简称 ds。
其结构如下表:
| ds | ||||
|---|---|---|---|---|
| apiVersion | apps/v1 | |||
| kind | Daemonset | |||
| metadata | name / namespace / labels 等属性 | |||
| spec | ||||
| minReadySeconds | 最小准备时间 | |||
| revisionHistoryLimit | 旧版本保留数量 | |||
| selector | ||||
| matchExpressions | 标签选择器 | |||
| matchLabels | 标签选择器 | |||
| updateStrategy | ||||
| rollingUpdate | ||||
| maxUnavailable | 升级策略最多不可用 | |||
| type | RollingUpdate / OnDelete(默认) | |||
| template | ||||
| metadata | Pod meta | |||
| spec | Pod spec | |||
DaemonSet 示例
制作一个 filebeat 的资源清单:
apiVersion: apps/v1
kind: Deployment
metadata:
name: redis
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: redis
role: logstore
template:
metadata:
labels:
app: redis
role: logstore
spec:
containers:
- name: redis
image: redis:4.0-alpine
ports:
- name: redis
containerPort: 6379 ---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ds-demo
namespace: default
spec:
selector:
matchLabels:
app: filebeat
release: stable
template:
metadata:
labels:
app: filebeat
release: stable
spec:
containers:
- name: filebeat-demo
image: ikubernetes/filebeat:5.6.5-alpine
imagePullPolicy: IfNotPresent
env:
- name: REDIS_HOST
value: redis.default.svc.cluster.local
将 redis 端口创建 service,为了 filebeat 能够通过名称解析:
kubectl expose deployment redis --port=6379
在同一个资源清单中有定义多个资源的时候,可以使用 --- 隔开。
资源之间的连接地址,我们可以配置为 service 解析的域地址。
查看资源启动情况:
kubectl get ds -o wide
kubectl get deployment -o wide
结果如图:

我们可以进入 redis 里面查看:
kubectl exec -it redis-5d47df789f-clph7 -- /bin/sh
这就是 DaemonSet 的简单应用,我们大致先了解他的作用就行。
小结
每一种控制器都有单独的应用场景,只有熟悉之后才能更好的针对业务需求进行选型。
【07】Kubernets:资源清单(控制器 - DaemonSet)的更多相关文章
- kubernetes资源清单之DaemonSet
什么是 DaemonSet? DaemonSet 确保全部(或者某些)节点上运行一个 Pod 的副本.当有节点加入集群时,也会为他们新增一个 Pod . 当有节点从集群移除时,这些 Pod 也会被回收 ...
- 【05】Kubernets:资源清单(控制器 - ReplicaSet)
写在前面的话 从上一章节开始,我们一直在学习关于自主式 Pod 的资源清单编写, 但是自主式 Pod 存在着一个问题,就是和我们直接 docker run 运行 docker 容器一样.如果我们想以集 ...
- 【06】Kubernets:资源清单(控制器 - Deployment)
写在前面的话 上一节主要简单的提了一下控制器都有哪些常用的,并且简单的功能是啥,最后一并提了 ReplicaSet 控制器. 但是 ReplicaSet 一般不需要我们直接配置,多以从本节开始,开始学 ...
- Kubernetes K8S之资源控制器Daemonset详解
Kubernetes的资源控制器Daemonset详解与示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C/ ...
- 【04】Kubernets:资源清单(pod)
写在前面的话 前面我们提到过,纯手敲 K8S 名称管理 K8S 服务只是作为我们了解 K8S 的一种方案,而我们最终管理 K8S 的方法还是通过接下来的资源清单的方式进行管理. 所以从本章节开始,将会 ...
- Kubernetes【K8S】(三):资源清单
K8S中的资源 K8S中所有的内容都抽象为资源,资源实例化之后叫做对象.一般使用yaml格式的文件来创建符合我们预期的pod,这样的yaml文件我们一般成为资源清单. 名称空间级资源 工作负载型资源( ...
- k8s学习笔记之四:资源清单定义入门
第一章.k8s中的资源 1.什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 2.在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet D ...
- Kubernetes 学习5 kubernetes资源清单定义入门
一.kubernetes是有一个restful风格的 API,把各种操作对象都一律当做资源来管理.并且可通过标准的HTTP请求的方法 GET,PUT,DELETE,POST,等方法来完成操作,不过是通 ...
- kubernetes 资源清单定义入门
k8s中的资源 什么叫资源? k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象 在k8s中有哪些资源? 工作负载型资源(workload): Pod ReplicaSet Deploymen ...
随机推荐
- RV64I基础整数指令集
RV64I是RV32I的超集,RV32I是RV64I的子集.RV64I包括RV32I的所有40条指令,另外增加了12条RV32I中没有的指令,还有三条移位指令(slli, srli,srai)也进行小 ...
- python3使用模块
Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用. 我们以内建的sys模块为例,编写一个hello的模块: #!/usr/bin/env python3 # -*- codi ...
- openssl生成随机数
#include <stdio.h> #include <openssl/bn.h> int main() { BIGNUM *bn; bn = BN_new(); //生成一 ...
- Jetty启动报Error scanning entry META-INF/versions/9/org/apache/logging/log4j/util/ProcessIdUtil.class
近日在项目中集成Elasticsearch后,Jetty启动报错. 错误日志如下: Suppressed: |java.lang.RuntimeException: Error scanning en ...
- Django 练习班级管理系统六 -- 编辑老师列表
修改 views.py @auth def edit_teacher(request, nid): if request.method == "GET": obj = models ...
- CVE-2019-0708漏洞利用复现
CVE-2019-0708漏洞利用复现 距离这个漏洞爆出来也有好几个月了,之前一直忙也没来得及写文档,现在重新做一遍. 准备环境: win7靶机 IP地址:172.16.15.118 Kali攻击机 ...
- 1-9 Python判断结构
判断结构¶ In [3]: tang=100 if tang>200: print('OK') print('test')##有缩进就不在就不在if条件结构中 test In [6]: ...
- mysql数据库之管理表和索引
show engines; --->可以显示当前数据库 所支持的所有存储引擎 名称 是否支持 简要描述 ...
- 201871010134-周英杰《面向对象程序设计(java)》第六到七周学习总结
201871010134-周英杰<面向对象程序设计(java)>第六到七周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 【视频技术】ffmpeg截取图片(Mac)
1. 输出单张图片:ffmpeg -i NLP-CNN.mp4 -f image2 -ss 2000 -vframes 1 -s 220*220 NLP-CNN-003.jpg 2. 输出所有图片: ...