设置容器的技巧(最佳实践)

网友投稿 624 2022-11-17

设置容器的技巧(最佳实践)

设置容器的技巧(最佳实践)

运行构建良好的容器会极大的影响环境的整体性能和安全性。

使用通用容器操作系统

在可能的情况下,你应该尽量在一个通用的容器基础操作系统上进行标准化。

Alpine 和 BusyBox 等较小的发行版减少了容器镜像的大小,并且通常具有较小的漏洞。

流行的发行版如 Ubuntu、Fedora 和 CentOS 等都经过了大量的测试,并提供了许多的功能。

从零开始的容器

如果你的微服务是一个独立的静态二进制,你应该使用FROM scratch容器。

这将具有最小的攻击层和最小的镜像。

以非特权方式运行容器进程

定义资源限制

将 CPU 和内存限制应用于你的 Pod。这可以帮助管理工作节点上的资源,并避免发生故障的微服务影响其他微服务。

在标准 Kubernetes 中,您可以在命名空间级别上设置资源限制。在 Rancher 中,您可以在项目级别上设置资源限制,它们将继承到项目内的所有命名空间。详情请参考 Rancher 文档。

在设置资源配额时,如果您在项目或命名空间上设置了任何与 CPU 或内存相关的内容(即限制或保留),所有容器都需要在创建期间设置各自的 CPU 或内存字段。为了避免在创建工作负载期间对每个容器设置这些限制,可以在命名空间上指定一个默认的容器资源限制。

定义资源需求

注意: 如果您为 pod 所部署的命名空间设置了资源限制,而容器没有特定的资源请求,则不允许启动 pod。为了避免在创建工作负载时对每个容器设置这些字段,可以在命名空间上指定一个默认的容器资源限制。

建议在容器级别上定义资源需求,否则,调度程序会做出一些假设,这些假设可能会在集群加载时对您的应用程序没有帮助。

配置存活和就绪探测器

为你的容器配置存活探针和就绪探针。除非你的容器完全崩溃,否则 Kubernetes 不会知道它是不健康的,除非你创建一个可以报告容器状态的端点或机制。或者,确保你的容器在不健康的情况下停止并崩溃。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
下一篇:10.拟合
相关文章

 发表评论

暂时没有评论,来抢沙发吧~