Loading... # 一、背景 八年了,这个DCOS集群还在运行。随着业务量的增长,目前只是在做scale up,比如把4C32GB升级成8C64GB。但是,某些情况下,直接升级还是会高一些,比如在长连接集群里面,冬季业务旺季的时候,把6台4C32GB升级成8C64GB,在夏季业务淡季的时候再降配下来,可是呢,每年还是会有部分业务量增长,不全部增加的话业务是平均分配的,所以增加节点成为了不错的方案。 # 二、事件描述 这套DCOS刚刚经历了因为DCOS官方调整Auth0导致无法登录事件。大家都没有办法登录。后来调整oauth_enable false后可以登录了。这不,又来了这问题。 其实,早先长连接集群是有7台机器的,可是某一台好像总是有些问题。 ``` [ERROR] 2024-05-13 10:47:00.101 [DiscoveryClient-HeartbeatExecutor-1] com.netflix.discovery.DiscoveryClient - DiscoveryClient_XCLOUD-NCS/9.0.26.130:6778 - was unable to send heartbeat! com.sun.jersey.api.client.ClientHandlerException: org.apache.http.conn.ConnectTimeoutException: Connect to xcloud-discoveryserver-peer1.marathon.mesos:2000 timed out [ERROR] 2024-05-13 10:47:00.100 [DiscoveryClient-HeartbeatExecutor-1] com.netflix.discovery.shared.transport.decorator.RedirectingEurekaHttpClient - Request execution error com.sun.jersey.api.client.ClientHandlerException: org.apache.http.conn.ConnectTimeoutException: Connect to xcloud-discoveryserver-peer2.marathon.mesos:2000 timed out ``` 最近一周一直在尝试新增节点做测试。遇到一个问题,总是不能正常运行,或者看起来正常运行,而且还没有overlay网络路由。经过一些排查,终于找到了原因。 现在的虚拟机已经无法使用过去的dcos slave节点镜像制作了,因为物理机架构不一样,ucloud官方不让用了。那就重建吧,重建后,内核有变化,如果用当前的内核版本,会出现内核相关的错误。 ![2024-05-23T09:38:05.png][1] 通过手动安装内核可以安装成功。 而无法生成overlay 网络路由的原因,想了一圈,而且在本地测试也没有问题。看了一下master节点发现,三个master节点的dcos-navstar服务全都飘红。一个一个节点的重启后,恢复了。 下面记录下,如果以后再安装dcos 1.9.1的slave节点使用如下方法。 # 三、安装slave节点 ## (1)更换内核 ``` # 更换内核 cd /tmp wget https://d2.sddts.cn/d/download/dcos/kernel-3.10.0-862.9.1.el7.x86_64.rpm wget https://d2.sddts.cn/d/download/dcos/linux-firmware-20180220-62.2.git6d51311.el7_5.noarch.rpm yum install -y kernel-3.10.0-862.9.1.el7.x86_64.rpm linux-firmware-20180220-62.2.git6d51311.el7_5.noarch.rpm ``` ## (2)安装必要软件 ``` # 删除无用的软件 yum remove -y firewalld # 安装docker mdkir -p /opt/software/ ; cd /opt/software/ ; wget https://d2.sddts.cn/d/download/dcos/docker.tar.gz tar xzvf docker.tar.gz ``` ## (3)安装slave节点 ``` # 安装slave节点 # @bootstrap ssh root@10.9.28.18 "mkdir -p /opt/software/docker" cd /opt/software/docker && scp -r * root@10.9.28.18:/opt/software/docker/ ssh root@10.9.28.18 "mkdir /opt/dcos_install_tmp" cd /opt/genconf/serve && scp -r packages root@10.9.28.18:/opt/dcos_install_tmp/ cd /opt/genconf/serve && scp -r bootstrap root@10.9.28.18:/opt/dcos_install_tmp/ # @slave cat <<'EOF'>> /etc/group docker:x:993: nogroup:x:1000: EOF cd /opt/software/docker yum install *.rpm --skip-broken yum install docker* cd /opt/ curl -O 10.9.127.126:80/dcos_install.sh bash dcos_install.sh slave # 配置hosts 10.42.255.5 umon.api.service.ucloud.cn 10.42.255.5 umon.api.service.ucloud.cn 10.10.172.209 inner.ha.balance ``` ## (4)节点修复 ``` # 节点修复的方法 mount -o remount,rw '/sys/fs/cgroup' ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu ``` ## 部署categraf ``` # 部署categraf cd /opt && wget https://d2.sddts.cn/d/download/dcos/dcos.slave.categraf.tar.gz && tar xzvf dcos.slave.categraf.tar.gz cat <<'EOF'>/etc/systemd/system/categraf.service [Unit] Description="Categraf" After=network.target [Service] Type=simple ExecStart=/opt/categraf/categraf WorkingDirectory=/opt/categraf Restart=on-failure SuccessExitStatus=0 LimitNOFILE=65536 StandardOutput=syslog StandardError=syslog SyslogIdentifier=categraf [Install] WantedBy=multi-user.target EOF systemctl daemon-relaod systemctl restart categraf ``` ## (5)部署data目录 ``` # 部署dcos服务用到的目录 mkdir -p /data ; wget https://d2.sddts.cn/d/download/dcos/dcos.slave.data.tar.gz ; tar xzvf dcos.slave.data.tar.gz cd /data ; wget https://d2.sddts.cn/d/download/dcos/dcos.data.machtalk.tar.gz ; tar xzvf dcos.data.machtalk.tar.gz # 部署openfalcon cd /data/work/ && ./open-falcon start agent # 修改/data/work/agent/config/cfg.json ``` [1]: https://www.sddts.cn/usr/uploads/2024/05/4196263994.png 最后修改:2024 年 05 月 23 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏