我们在azure云上运行dc/os 11.1,在代理节点上有docker引擎版本17.09。我们希望在每个代理节点上将docker engine升级到17.12.1。有没有人有过这种程序的经验,它会不会对其他dc/os组件造成任何不稳定/副作用?
nr9pn0ug1#
我还没有做升级自己在确切的环境中运行,但我不会非常担心。不用说,在生产环境中进行测试之前,必须在非生产环境中进行测试。我建议在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的nodes部分消失,并且在代理上运行的所有任务都标记为task\u lost。理想情况下,它应该被杀死,但这是另一个时间的主题。现在执行docker升级升级docker后,启动代理服务备份
sudo systemctl start dcos-mesos-slave
sudo systemctl start dcos-mesos-slave-public
公共代理人节点现在应该开始显示在ui中并开始接受任务。为了安全起见在非prod环境中进行验证,然后再在prod中进行验证,以解决可能遇到的任何操作问题一次执行一个或一个子集的代理,这样在执行升级时就不会留下没有任何节点的集群
1条答案
按热度按时间nr9pn0ug1#
我还没有做升级自己在确切的环境中运行,但我不会非常担心。不用说,在生产环境中进行测试之前,必须在非生产环境中进行测试。
我建议在docker升级之前先清空代理节点。我所说的排空是指停止节点上运行的所有容器(任务),这将确保mesos代理停止任务,然后通知框架任务不再运行,框架将采取适当的操作。
排放节点运行
作为私人代理人
公共代理人
您将看到代理从ui的nodes部分消失,并且在代理上运行的所有任务都标记为task\u lost。理想情况下,它应该被杀死,但这是另一个时间的主题。
现在执行docker升级
升级docker后,启动代理服务备份
作为私人代理人
公共代理人
节点现在应该开始显示在ui中并开始接受任务。
为了安全起见
在非prod环境中进行验证,然后再在prod中进行验证,以解决可能遇到的任何操作问题
一次执行一个或一个子集的代理,这样在执行升级时就不会留下没有任何节点的集群