DC/OS 升级

概述

这篇文章主要介绍DC/OS集群从1.10升级到1.11,升级的时候需要保证集群上的应用都是正在运行状态,也就是不能是部署状态或者等待等其他状态。可以通过升级的方式来修改配置,比如从1.10通过这种方式升级到1.10,通过这种方式来修改配置。

注意:
升级前一定要看一下官方文档,如果是实验环境,可以忽略这些信息,直接开始做,如果升级过程中出现了问题,一定要回来看官方文档给出的注意事项,才知道怎么解决问题。

在启动节点上准备安装包

  • 复制之前安装节点中的config.yamlip-detect到一个干净的新目录:1.11
    • 重要:1、不能修改exhibitor_zk_backend设置。2、在集群DC/OS 1.11中config.yaml的语法有改变,点击查看详情
  • 按照新语法更新config.yaml后,注意对照新旧配置,确保配置没有问题,更改这些配置可能会导致集群崩溃。
  • 构建安装程序包
    • 下载最新版dcos_generate_config.sh
      curl -O https://downloads.dcos.io/dcos/stable/dcos_generate_config.sh
      
    • 执行更新,<installed_cluster_version>是即将被更新的版本,版本号去mesosphere的管理页面的Overview可以看。
      dcos_generate_config.sh --generate-node-upgrade-script <installed_cluster_version>
      
    • 构建完成后,会在最后生成一个URL,后面都用URL来替代这一行:http://192.168.0.234:8080/upgrade/940157ff99bf4b6188af4d713f70760b/dcos_node_upgrade.sh
      [root@localhost 1.11]# ./dcos_generate_config.sh --generate-node-upgrade-script 1.10.4
      Generating configuration files...
      Cluster package list:package_lists/f85951fce504ff8dd85773e12ba612166e2ecf9b.package_list.json
      Package filename: packages/dcos-config/dcos-config--    setup_211cb3884a16a4d540a9b521616e990fa8f7bd07.tar.xz
      Package filename: packages/dcos-metadata/dcos-metadata--setup_211cb3884a16a4d540a9b521616e990fa8f7bd07.tar.xz
      Generating Bash configuration files for DC/OS
      Node upgrade script URL:`http://192.168.0.234:8080/upgrade/940157ff99bf4b6188af4d713f70760b/dcos_node_upgrade.sh`
      

      构建完成后的目录结构和安装的时候一样:

      ├── dcos-genconf.<HASH>.tar
      ├── dcos_generate_config.sh
      ├── genconf
      │   ├── config.yaml
      │   ├── ip-detect
      
    • 运行Nginx容器,让其他节点可以远程访问和下载生成的脚本
      sudo docker run -d -p <your-port>:80 -v $PWD/genconf/serve:/usr/share/nginx/html:ro nginx
      

更新Master节点

  • 登录到master节点,下载启动节点上的脚本:
    curl -O <URL>
    sudo bash ./dcos_node_upgrade.sh
    
  • 验证是否更新成功和退出状态是否是0
    echo $?
    0
    
  • 验证更新
    • ZooKeeper是否成功启动:http://<dcos_master>:8181/
    • mesos是否是1.5.0(如果是更新到1.11,mesos版本就是1.5.0):http://<dcos_master>/mesos

更新Agent节点

  • 登录到每一个agent节点,下载启动节点上的脚本:
    curl -O <URL>
    sudo bash ./dcos_node_upgrade.sh
    
  • 验证是否更新成功和退出状态是否是0
    echo $?
    0
    
  • 验证更新
    • 验证节点是否加入了DC/OS集群,并且任务都重新协调完成:http://<dcos_master>/mesos

发表评论

电子邮件地址不会被公开。 必填项已用*标注