Kubernetes 高可用扩展与多容器 Pod 应用
1. DaemonSet 实现高可用性扩展
DaemonSet 的名称源自 Linux 守护进程,通常是在后台持续运行的单实例系统进程(类似于 Windows 世界中的 Windows 服务)。在 Kubernetes 中,DaemonSet 会在集群的每个节点上运行一个 Pod 副本,或者通过在 spec 中添加选择器,在部分节点上运行。
DaemonSet 常用于基础设施层面,例如从每个节点收集信息并发送到中央收集器。由于每个节点上只有一个 Pod,因此无需担心资源冲突。以下是一个 DaemonSet 的 YAML 示例:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: pi-proxy
spec:
selector:
matchLabels:
app: pi-proxy
template:
metadata:
labels:
app: pi-proxy
spec:
# Pod spec follows
该代理规范仍使用 HostPath 卷,这意味着每个 Pod 都有自己的代理缓存,无法通过共享缓存获得最佳性能。不过,这种方法适用于比 Nginx 更复杂的有状态应用,因为多个实例使用相同的数据文件不会有问题。
操作步骤如下:
1. 部署 DaemonSet:
kubectl apply
Kubernetes高可用与多容器应用
超级会员免费看
订阅专栏 解锁全文

712

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



