【07】Kubernets:资源清单(控制器 - DaemonSet)
2019-06-10 14:59
260 查看
写在前面的话
前面讲解了 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 的简单应用,我们大致先了解他的作用就行。
小结
每一种控制器都有单独的应用场景,只有熟悉之后才能更好的针对业务需求进行选型。
相关文章推荐
- kubernetes资源对象--DaemonSet
- kubernetes DaemonSet资源对象
- 动画组件和动画控制器资源介绍、动画状态机
- Visual Studio .NET 中的清单资源
- 守护线程setDaemon(true)
- 07 - 删除vtkDataObject中的SetExtentTranslator 和 GetExtentTranslator方法 VTK 6.0 迁移
- 扒扒数据库长长知识(下载资源组合看day2)之 07 (子查询重点+难点)(一般子查询)
- DaemonSet 典型应用场景 - 每天5分钟玩转 Docker 容器技术(129)
- join和setdaemon()初探
- java的调度、优先级setPriority、yield、jion和守护线程setDaemon
- Kubernetes DaemonSet
- 线程中断的3+2(自定义执行状态和处理不可中断的阻塞)种方式、setDaemon(守护线程)、Future的方法
- join 和 setDaemon(Python)
- python多线程中join和setDaemon的用法
- 最全的 Twitter Bootstrap 开发资源清单
- Thread的setDaemon(true)方法的作用
- Thread.setDaemon详解
- 自然语言处理(NLP)书籍资源清单
- 最全的 Twitter Bootstrap 开发资源清单
- 扒扒数据库长长知识(下载资源组合看day2)之 07 (课堂练习)