代理节点上的DCOS升级Docker版本

时间:2018-07-19 10:45:40

标签: docker upgrade mesos mesosphere dcos

我们在Azure云上运行DC / OS 11.1,并且在代理节点上具有Docker引擎版本17.09。我们想在每个代理节点上将Docker引擎升级到17.12.1。

有人有过这样的程序的经验,会不会对其余的DC / OS组件造成任何不稳定性/副作用?

1 个答案:

答案 0 :(得分:0)

我还没有在您所运行的确切环境中完成升级,但是我不会非常担心。不用说,在生产之前先在非生产环境中进行测试。

我建议在进行docker升级之前先排空代理节点。我的意思是,您停止所有在节点上运行的容器(任务),这将确保Mesos代理将停止任务,然后通知框架该任务不再运行并且框架将采取适当的措施。

要耗尽节点运行

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'

对于公共代理人

您会看到代理程序从UI的“节点”部分消失,并且在代理程序上运行的所有任务都标记为TASK_LOST。理想情况下应该是TASK_KILLED,但这是另一个话题。

现在执行docker升级

升级docker后,启动代理服务备份

sudo systemctl start dcos-mesos-slave

私人代理人

sudo systemctl start dcos-mesos-slave-public

对于公共代理人

节点现在应该开始显示在UI中并开始接受任务。

为了安全

  1. 在非生产环境中进行验证之前,请在生产中进行验证,以 解决您可能遇到的任何运营问题
  2. 一次执行1次或代理的子集,以免留下 执行升级时,群集中没有任何节点