我在使用rancher过程中遇到的问题:
一开始是用的单机的环境,没有设置启动内存,而且mysql使用的是内嵌的数据库。Rancher Server在运行了几个月后变的极慢,甚至不能再添加和启动、删除容器,一个操作会卡在那一直不动。
当时的启动命令是
sudo docker run --name rancher-server -d --restart=unless-stopped -p 18180:8080 rancher/server
可以参看我之前写的文章https://www.jianshu.com/p/1a80328ea0a5
问题调研
翻看了rancher社区和官方文档发现:
很可能有一些任务由于某些原因而处于僵死状态,如果你能够用界面查看系统管理 -> 系统进程,你将可以看到Running中的内容,如果这些任务长时间运行(并且失败),则Rancher会最终使用太多的内存来跟踪任务。这使得Rancher Server处于了内存不足的状态。
为了使服务器变为可响应状态,你需要添加更多内存。通常4GB的内存就够了。
你需要再次运行Rancher Server命令并且添加一个额外的选项-e JAVA_OPTS="-Xmx4096m",但是由于之前用的是内嵌的mysql,一旦重新运行一个容器,所有数据就会丢失,所以强烈建议使用外部mysql
$ docker run -d -p 8080:8080 --restart=unless-stopped -e JAVA_OPTS="-Xmx4096m" rancher/server
根据MySQL数据库的设置方式的不同,你可能需要进行升级才能添加该选项。
如果是由于