部署kubernetes(k8s)时,为什么要关闭swap、selinux、firew

部署Kubernetes时关闭swap、SELinux、防火墙的原因主要是基于集群的高效稳定运行。
虽然防火墙和SELinux对安全性影响很大,但其管理成本较高,需要专业运维人员进行维护,会产生额外的管理费用。
交换在计算集群中发挥着独特的作用。
计算集群主要处理短期计算任务,快速申请大量内存和CPU资源完成计算,然后输出结果并退出。
在这些情况下,如果发生内存不足(OOM),更有意义的是直接终止进程并通知运维或作业提交者进行故障转移或重新启动进程。
使用swap保活会导致节点挂掉,集群性能大幅下降,运维无法及时收到错误信号。
更严重的是,当swap位于机械硬盘阵列中时,大量使用swap会导致系统无法正常运行,即使以root身份登录并且密钥也可能无法操作。
节点挂起是一个严重的问题,在检测到它时通常会造成大量损坏。
程序错误可以通过自动重试来解决,但重试失败则表明发生了意外情况,导致任务失败。
应该停止并等待手动处理而不是继续尝试执行,这将导致所有后续任务失败。
计算集群通常会关闭交换,除非有明确的理由表明交换可以带来实际好处。
与运行MySQL等面向服务的程序的集群相比,计算集群不会关注单个进程或任务的失败,因为在广泛的用户面前,程序无法经过严格的测试,具有较高的可用性。
是容量。
误差幅度。
计算集群的关键是要避免出现整个集群无法处理任何任务的情况,这是极其严重的事故。
关闭swap意味着当内存溢出时,系统立即终止关联的进程,让正在运行的程序继续正常执行。
这使得资源分配更加公平和高效,同时避免集群因挂起而导致性能下降,保证集群的稳定和高效运行。