Anyrobot-system-manager代码patch

Anyrobot-system-manager代码patch

默认60分钟会退出登录,导致未保存的仪表盘、可视化数据丢失,经常需要重新登录非常不方便。

“超时登录”的时间只能设置为10-60分钟,因此打算修改设置模块的代码,绕过限制。

Patch脚本

1
2
3
4
5
6
7
8
9
10
docker_id=$(docker ps |grep ' k8s_system-manager'|awk '{print $1}')
docker exec $docker_id sed -i '84s/60/10000/' /anyrobot/anyrobot-system-manager/system-manager/modules/system_config/system_config_manage.py
docker commit -m "update" -a "zhighest" $docker_id new-system-manager:v1

pod_id=$(kubectl get pods|grep -P "^system-manager"|awk '{print $1}')
export KUBE_EDITOR="sed -i 's/- image:.*$/- image: new-system-manager:v1/'"
kubectl edit pod $pod_id
unset KUBE_EDITOR

docker stop $docker_id

镜像名称:

1
2
~ docker images|grep anyrobot-system-manager
docker.registry.anyrobot:5000/develop/anyrobot-system-manager 3.0.14 495c6be4ea6f 10 days ago 1.59GB

容器名称:

1
2
3
4
5
6
docker ps |grep system-manager 
24c4d35592c2 e87d4b6b9aab "python3 system_mana…" 27 seconds ago Up 14 seconds k8s_system-manager_system-manager-6d85c48675-455j5_anyrobot_d75d4423-78d4-4721-96d9-4387a2166995_7

b37456def803 localhost/pause:3.1 "/pause" 38 seconds ago Up 30 seconds k8s_POD_system-manager-6d85c48675-455j5_anyrobot_d75d4423-78d4-4721-96d9-4387a2166995_5


进入容器修改代码:

1
2
3
4
5
6
7
docker exec -it 24c4d35592c2 /bin/bash

vi +84 ./modules/system_config/system_config_manage.py
# 修改84行的数据
# 改为10000

exit

保存容器为新镜像:

1
docker commit -m "update" -a "zhighest" 24c4d35592c2 new-system-manager:v1

修改kube配置,替换镜像名称

1
2
3
kubectl get pods

kubectl edit pod system-manager-6d85c48675-455j5

image-20201208094833638

重启服务器后修改”超时登录”为10000分钟,成功。

image-20210114150540145