CoreOS集群技术与容器运行时详解
1. Fleet调度与高可用性
Fleet通常用于使用systemd编排关键系统服务,而Kubernetes用于应用容器编排。Kubernetes由多个服务组成,如kubelet服务器、API服务器、调度器和复制控制器,它们都作为Fleet单元运行。对于较小的部署,Fleet也可用于应用编排。
1.1 全局单元示例
全局单元在集群的所有节点上执行相同的服务单元。以下是一个示例helloglobal.service:
[Unit] Description=My Service After=docker.service [Service] TimeoutStartSec=0 ExecStartPre=-/usr/bin/docker kill hello ExecStartPre=-/usr/bin/docker rm hello ExecStartPre=/usr/bin/docker pull busybox ExecStart=/usr/bin/docker run —name hello busybox /bin/sh - c “while true; do echo Hello World; sleep 1; done” ExecStop=/usr/bin/docker stop hello [X-Fleet] Global=true执行此单元后,相同的服务会在所有三个节点上启动。
1.2 基于元数据的调度
假设有一个三节点的Co