最近需要支持一个单实例 TCP 连接数上 10k 的基础服务(Cassandra)的容器化。需要对其使用的资源(特别是TCP缓存内存)、对相邻 Pod(同一 worker node 上运行的)影响(即容器隔离情况),等时行预估。容器内存限制是个矛盾而重要的选择,给多了浪费资源,给少了服务随机崩溃。CGroup 内存控制是容器资源控制的核心。她是个规律严明的看守者,在应用超限时狠心地 OOM Klll。她同时也有宽容的一面,在应用资源不足时,调配和释放 Cache 给应用使用。而其内心的记账算法却耐人寻味。要观察和监控她的状态和行为,更是千条万绪。本文尝试用作分析和梳理。
Linux权限(Capabilities)控制模型复杂。但对容器安全却非常重要。本文尝试用浅白的图例,浅谈这只容器安全的拦路虎。