Kubernetes Pod 控制器与 Ingress 详解
1. DaemonSets
在将应用程序的日志发送到集中式日志服务器(如 Elasticsearch - Logstash - Kibana (ELK) 堆栈或 Datadog 等 SaaS 监控产品)时,有几种方法。一种是让每个应用程序包含连接到日志服务、进行身份验证和写入日志的代码,但这会导致大量重复代码,效率低下。另一种方法是在每个 Pod 中运行一个额外的容器作为日志代理(边车模式),不过这可能会在一个节点上运行多个相同的日志代理副本。
实际上,每个节点只需要一个日志代理副本即可,Kubernetes 为此提供了一个特殊的控制器对象:DaemonSet。Daemon 传统上指的是服务器上处理日志等任务的长期运行的后台进程,类比来看,Kubernetes 的 DaemonSet 会在集群的每个节点上运行一个守护容器。
DaemonSet 的清单文件与 Deployment 非常相似,示例如下:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
...
spec:
...
template:
...
spec:
containers:
- name: fluentd-elasticsearch
...
当需要在集群的每个节点上运行一个 Pod 副本时,使用 DaemonSet。如果维护给定数量的副本比 Pod 具体运行在哪个节点上更重
超级会员免费看
订阅专栏 解锁全文
225

被折叠的 条评论
为什么被折叠?



