代理节点上的 DCOS 升级 docker 版本
DCOS Upgrade docker version on agent nodes
我们在 Azure 云上是 运行 DC/OS 11.1,在我们的代理节点上有 Docker 引擎版本 17.09。我们想在每个代理节点上将 Docker 引擎升级到 17.12.1。
有没有人有过这样的程序的经验,它会导致 DC/OS 其他组件的任何不稳定/副作用吗?
我还没有在您 运行 所在的确切环境中亲自完成升级,但我不会非常担心。不用说,在生产环境中进行测试之前,先在非生产环境中进行测试。
我建议在进行 docker 升级之前清空代理节点。我所说的 draining 是指停止节点上的所有容器(任务)运行,这将确保 Mesos 代理停止任务,然后通知框架任务不再 运行ning 和框架将采取适当的行动。
排空节点运行
sudo sh -c 'systemctl kill -s SIGUSR1 dcos-mesos-slave && systemctl stop dcos-mesos-slave'
私人代理人
sudo sh -c 'systemctl kill -s SIGUSR1 dcos-mesos-slave-public && systemctl stop dcos-mesos-slave-public'
为public代理人
您会观察到代理从 UI 的节点部分消失,并且代理上的所有任务 运行 都标记为 TASK_LOST。理想情况下应该是 TASK_KILLED,但那是另一个话题了。
现在执行您的docker升级
升级后docker启动代理服务备份
sudo systemctl start dcos-mesos-slave
私人代理人
sudo systemctl start dcos-mesos-slave-public
为public代理人
节点现在应该开始出现在 UI 中并开始接受任务。
为了安全
- 在 prod 中执行此操作之前,请在非 prod 环境中验证这一点,以便
解决您可能遇到的任何操作问题
- 一次做 1 个或一部分代理,这样你就不会留下一个
执行升级时集群没有任何节点
我们在 Azure 云上是 运行 DC/OS 11.1,在我们的代理节点上有 Docker 引擎版本 17.09。我们想在每个代理节点上将 Docker 引擎升级到 17.12.1。
有没有人有过这样的程序的经验,它会导致 DC/OS 其他组件的任何不稳定/副作用吗?
我还没有在您 运行 所在的确切环境中亲自完成升级,但我不会非常担心。不用说,在生产环境中进行测试之前,先在非生产环境中进行测试。
我建议在进行 docker 升级之前清空代理节点。我所说的 draining 是指停止节点上的所有容器(任务)运行,这将确保 Mesos 代理停止任务,然后通知框架任务不再 运行ning 和框架将采取适当的行动。
排空节点运行
sudo sh -c 'systemctl kill -s SIGUSR1 dcos-mesos-slave && systemctl stop dcos-mesos-slave'
私人代理人
sudo sh -c 'systemctl kill -s SIGUSR1 dcos-mesos-slave-public && systemctl stop dcos-mesos-slave-public'
为public代理人
您会观察到代理从 UI 的节点部分消失,并且代理上的所有任务 运行 都标记为 TASK_LOST。理想情况下应该是 TASK_KILLED,但那是另一个话题了。
现在执行您的docker升级
升级后docker启动代理服务备份
sudo systemctl start dcos-mesos-slave
私人代理人
sudo systemctl start dcos-mesos-slave-public
为public代理人
节点现在应该开始出现在 UI 中并开始接受任务。
为了安全
- 在 prod 中执行此操作之前,请在非 prod 环境中验证这一点,以便 解决您可能遇到的任何操作问题
- 一次做 1 个或一部分代理,这样你就不会留下一个 执行升级时集群没有任何节点