ONES单机环境优雅关机
当ONES系统安装成功时,此时系统可以正常通过IP进行访问。
本节中主要面向安全的停止正在运行的ONES服务器的场景,停止ONES相关的所有服务,并不只是禁止终端用户访问ONES系统。
安全停止/优雅退出
若需要关闭 ONES 服务,建议的顺序是:先停止业务,再停中间件,再关闭集群,再关闭物理机。这是为了保障集群的存储的稳定性。 若强行停机或通过其他异常方式终止服务,可能会导致数据丢失、集群重建缓慢,甚至不排除需要重新部署实例。
ONES单机优雅关机操作
注意!!!
- 下面的操作,仅适用于ONES单机环境,不适用于ONES集群环境!!!
- 如果您的环境是ONES集群,请参考 ONES集群环境优雅关机手册 !!!
# 使用root账号操作,进入操作容器
ones-ai-k8s.sh
## 1.停关键业务
kubectl -n ones scale --replicas=0 deploy project-api-deployment wiki-api-deployment
kubectl -n ones scale --replicas=0 sts wiz-editor-server-statefulset
# 2. 关闭数据库(如果数据外置,则跳过这个步骤)
kubectl -n ones scale --replicas=0 mysqlcluster mysql-cluster
kubectl -n ones scale --replicas=0 sts mysql-operator
kubectl -n ones scale --replicas=0 sts mysql-cluster-mysql
watch ./script/mysql/status.sh ones
# 关闭完成后,输出结果如下时,再继续执行步骤3:
# MYSQL_CLUSTER_POD ROLE HEALTHY NODE_NAME VERSION
#
# No resources found in ones namespace.
# 3. 关闭etcd(如果没有安装运维工具箱, 则跳过这个步骤)
kubectl -n ones-op scale --replicas=0 sts etcd
# 4. 退出操作容器, 并重启主机或关机(shutdown、reboot或者poweroff等),以重启为例:
exit
reboot
ONES单机开机操作
重新启动 ONES 服务,建议的顺序是:开启集群,自检中间件,自动恢复/人工恢复,启动网关,启动服务。
# 开机,启动正常后等待 K3s 集群 ready(约等待2~3分钟)
kubectl get nodes
# 1. 启动mysql(如果数据外置,则跳过这个步骤)
kubectl -n ones scale --replicas=1 mysqlcluster mysql-cluster
kubectl -n ones scale --replicas=1 sts mysql-operator
# 2. 启动etcd(如果没有安装运维工具箱, 则跳过这个步骤)
kubectl -n ones-op scale --replicas=1 sts etcd
# 3. 启动业务服务
kubectl -n ones scale --replicas=1 deploy project-api-deployment wiki-api-deployment
kubectl -n ones scale --replicas=1 sts wiz-editor-server-statefulset
# 3.如下命令无输出,表示 ONES 服务启动正常
kubectl get pod -n ones |grep -v Running |grep -v Complete
启动完成后预计10分钟左右可以正常使用 ONES 服务。