使用Kops + Docker 1.11在Kubernetes pod中设置sysctl密钥

时间:2017-01-05 17:35:41

标签: elasticsearch docker kubernetes sysctl kops

我使用Kops 1.4.4在AWS上启动我的Kubernetes集群。我的Elasticsearch pod要求我将内核参数vm.max_map_count设置为至少262144.Kubernetes 1.5.1具有systctl功能,但它需要Docker> = 1.12。 Kops目前使用较少的Docker版本构建我的节点,因此我试图弄清楚如何自动设置内核参数。如果我尝试使用RUN sysctl -w vm.max_map_count=262144在我的Dockerfile中设置它,我会收到错误消息:' sysctl:setting key" vm.max_map_count":只读文件系统'。

这有什么变通方法吗?

1 个答案:

答案 0 :(得分:1)

显然可以使用Kubernetes init containers完成此操作。在Kubernetes部署配置发布here之后,可以通过将以下注释应用于部署来完成此操作。根据规范>模板>元数据>注释添加:

local uint = 2000;