Tag: sysctl

Docker容器的系统级调优

我们正在对由Nginx,Tomcat,Node JS,Jboss Fuse和其他组件组成的堆栈进行性能工程。 所有这些组件都是集装箱的。 我们使用Docker进行集装箱化。 Kubernetes用于pipe理docker集群。 系统级调整如sysctl,ulimits …仍然适用于容器级别? 我可以针对不同的容器使用不同的sysctl设置,因为不同types的容器可能在同一个物理主机上运行?

Docker弹性search编辑sysctl.conf文件来“保持活跃”tcp连接

我有一个elasticsearch(5.2.0)docker实例。 我有NoNodeAvailableException: No node available error一段时间后NoNodeAvailableException: No node available error 。 当我search错误时,我发现要么将这些行添加到sysctl.conf要么执行下面的命令。 组态: net.ipv4.tcp_keepalive_time=600 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=3 命令: sysctl -w net.ipv4.tcp_keepalive_time=600 net.ipv4.tcp_keepalive_intvl=60 net.ipv4.tcp_keepalive_probes=3 我需要将我的弹性search连接watch -n 1 netstat –tcp -t -o -n为keepalive (请watch -n 1 netstat –tcp -t -o -n ),但似乎configuration不起作用。 我认为编辑configuration文件不起作用,而且“sysctl命令”给出了下面的错误: sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_time: No such file or directory sysctl: cannot stat /proc/sys/net/ipv4/tcp_keepalive_intvl: No such […]

在Docker容器中更改非命名空间的内核参数

我试图容器化一个需要改变非命名空间sysctl参数,如net.core.rmem_max的进程。 我知道,根据文档,这是不可能/允许在当前版本的Docker引擎(CE)。 参考: https : //docs.docker.com/engine/reference/commandline/run/#connect-a-container-to-a-network-network 。 如果我没有错,从容器内部触摸这些参数的一种方法是在docker run命令中使用-net = host选项运行容器。 但是,这个选项不符合我的要求。 有没有其他的方法,或解决方法来做到这一点? 以前,人们试图在容器中装载/ proc /,如下面的问题: 刷新docker容器的net.core.somaxcomm(或任何sysctl属性) 在当前版本的Docker CE中,有–sysctl docker run命令可以传递–sysctl选项,但是对于命名空间的内核参数,也是如此,并且不适用于我。 我感谢您的想法,提前致谢!

创buildBigInsights(IBM Hadoop)Docker镜像,sysctl问题

我正在尝试使用IBM BigInsights QuickStart Edition创build一个Docker镜像,并使用本地软件安装程序在DOCKER容器云(例如IBM Bluemix)上运行,这可以在此处find: http://www-01.ibm.com/software/data/infosphere/biginsights/quick-start/downloads.html 问题是,在安装过程中,我得到的错误是某些使用sysctl访问的内核参数设置不正确。 如果我使用Dockerfile调整它们,我得到一个错误: 只读文件系统 现在我想知道是否可以创build一个BigInsights镜像,因为必须在主机上设置内核参数,当然我无法控制容器云。 Dockerfile看起来像这样: FROM centos:latest COPY biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502 /usr/local/biginsights-3.0.0.2-quickstart-nonproduction-Linux-amd64-b20150120_1502 RUN yum -y install tar RUN yum -y install hostname RUN yum -y install expect RUN yum -y install net-tools RUN yum -y install openssh RUN yum -y install openssh-clients RUN yum -y install openssh-server RUN yum -y install […]

DOCKER容器和主机上的运行时内核参数不一致

我的主机位于Ubuntu 14.04.2 LTS上,我正在使用最新的centos基础映像来创buildIBM InfoSphere BigInsights的DOCKER映像,以便将其推送到Bluemix Container Cloud。 我已经解决了几乎所有的问题,但是我坚持使用sysctl设置运行时内核参数,因为它们有错误的值,安装程序会抱怨。 sysctl -a |grep net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000 当然,它不可能在DOCKER容器中设置它们,我得到以下错误: sysctl -w net.ipv4.ip_local_port_range="1024 64000" sysctl: setting key "net.ipv4.ip_local_port_range": Read-only file system 所以我在主机系统上设置了参数: sudo sysctl -w net.ipv4.ip_local_port_range="1024 64000" net.ipv4.ip_local_port_range = 1024 64000 sudo sysctl -a |grep net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 1024 64000 我甚至重build了整个图像,重新创build容器,但仍然在我得到的DOCKER容器中: sysctl -a |grep net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 […]

在Openshift中运行一个特权的docker集装箱

我目前正在尝试修改我的泊坞窗图像中的一些内核参数与sysctl -p和文件/etc/sysctl.conf 。 在试图在Openshift内部完成之前,我只是执行了docker run –privileged …而且工作,但现在我需要在Openshift Origin 3.6.0中部署和运行容器。 问题是我无法访问Openshift中的SCC,因为我不是Openshift服务器的pipe理员,所以我想知道是否有办法在不修改SCC的情况下执行此操作。 有没有什么办法可以在oc new-app …指定oc new-app …我需要在docker run …的参数docker run … ? 如果不是的话,唯一的办法就是将我的项目包含在Openshift服务器的特权SCC中?

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

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