我们在Azure云上运行DC / OS 11.1,并且在代理节点上具有Docker引擎版本17.09。我们想在每个代理节点上将Docker引擎升级到17.12.1。
有人有过这样的程序的经验,会不会对其余的DC / OS组件造成任何不稳定性/副作用?
答案 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中并开始接受任务。
为了安全