K8s Clinic:如何安全高效地运行 K8s

简介: 随着容器的应用,软件打包越来越左移,这意味着(取决于我们的团队组织)开发人员正在承担应用程序容器化的责任。开发人员可能还负责 Kubernetes 配置的某些部分。随着该流程向左转移,开发人员需要支持才能为组织做出正确的决策,以便安全高效地运行 Kubernetes。

作者 | Joe Pelletier

译者 | Luga Lee

策划 | Luga Lee


如何在生产环境中安全、高效地运行 Kubernetes 集群平台,是一个至关重要的 Topic ~


为什么选择 Kubernetes ?

    随着容器的应用,软件打包越来越左移,这意味着(取决于我们的团队组织)开发人员正在承担应用程序容器化的责任。开发人员可能还负责 Kubernetes 配置的某些部分。随着该流程向左转移,开发人员需要支持才能为组织做出正确的决策,以便安全高效地运行 Kubernetes。

    许多公司正在采用云原生技术来加快上市速度。对于寻求在当今市场上竞争的企业而言,重要的是发布新功能并满足客户需求——而且这些需求正越来越多地通过软件得到满足。

关键挑战

    尽管从云原生技术中获得了大多数好处,但迁移到容器和 Kubernetes 并非没有潜在的挑战。根据云原生计算基金会 (CNCF) 最近的一项调查,在这种转型过程中通常会出现三个关键挑战。

来源: CNCF SURVEY 2020

    与复杂性并列第一,迁移到云原生技术所涉及的文化变化。这些类型的变化通常意味着开发过程的变化,并可能将部分责任转移到不同的团队,迫使工程师学习新概念以及运维工程师需要适应“一切皆为代码”的心态。

    第三个挑战与云原生技术的安全考虑有关。我们正在处理改变大家对安全性看法的新概念和技术注意事项,尤其是当我们在云中运行容器和 Kubernetes 技术时,或者如果我们在多云或混合云场景中使用它时。所有这一切的复杂性导致安全团队退后一步,真正了解云原生技术的新威胁形势。

    安全需要成为开发和 DevOps 的合作伙伴,因此他们不仅必须跟上新的变化,还必须了解这些风险可能存在的位置。涉及实际容器技术本身时出现的新型问题,例如了解这些容器中存在哪些已知漏洞(常见漏洞和暴露 (CVE),以及了解 Kubernetes 可以配置为不安全、不可靠或低效。

新的决策点和复杂性

    迁移到 Kubernetes 和容器引入了许多新的决策点:去年,一篇文章强调 69% 的 Kubernetes 事件报告实际上与错误配置有关。要成功地将产品推向市场,我们需要有一个协作环境来快速解决配置错误问题。请记住:Kubernetes 中的一切都是配置驱动的,默认情况下没有内置安全性。

    组织的复杂性是另一个重要的因素。整个流程上涉及不同的角色,他们每个人都有不同的问题需要回答,所以让我们站在他们的立场上:

    1、开发人员:编写代码、构建新功能并将应用程序交付到生产环境的费用。他们需要对 Kubernetes 和容器有足够的了解,才能继续做好他们的工作并将应用程序提供给客户。

    2、站点可靠性工程师 (SRE):需要确保应用程序可靠且稳定。SRE 还需要确保使用最佳实践配置应用程序并启用健康探测和健康检查,以便应用程序能够在生产中可靠地运行。

    3、安全团队:需要知道组织是否正在运行易受攻击的容器版本,以及应用程序是否配置为安全的。

    4、工程副总裁:需要安全、可靠的基础设施来支持下一波业务增长。


    在这些环境中,我们需要构建流程并设置防护栏,以满足这些不同角色的需求。

对安全性和效率的技术影响

    对于所有这些团队来说,在他们寻求构建应用程序和服务并将其交付给市场时,配置是一个考虑因素。对于迁移到容器和 Kubernetes 的组织来说,什么样的技术会影响安全性和效率?堆栈中有几个不同的层,我们需要注意错误配置。

    1、容器:我们的应用程序与操作系统打包在一起的地方。注意正在打包的已知漏洞,无论是在操作系统级别还是在放入该容器的应用程序内部。

    2、部署配置:这可能是 Kubernetes YAML 或 Helm 图表。注意此级别的错误配置。确保设置了 CPU 和内存设置,为应用程序设置了活跃度和就绪度探测,并且没有向这些部署添加不必要的安全权限。

    3、Kubernetes 集群:在 Internet 上公开访问提供可能的错误配置。确保我们有基于角色的访问控制。还有许多附加组件需要保持最新,例如入口和证书管理。

政策和治理帮助

    我们可以通过使用策略和治理来帮助防止部署常见的错误配置。实施策略以检查安全配置错误,例如,底层 Kubernetes 集群和附加组件中的漏洞。不断扫描和监控基础设施以根据需要查找和修补新漏洞非常重要。策略和治理还可以通过确保资源使用效率来帮助我们优化成本,例如,检查 CPU 和内存设置以确保我们的应用程序具有足够的计算资源,但不会消耗过多的资源。

    当我们创建防止错误推送到生产的边界规则时,我们还可以在正确的时间向正在做出这些配置决策的开发人员和服务所有者提供反馈。我们可以使用策略创建边界规则的一些方法示例包括仅允许来自受信任存储库的图像、确保设置 CPU 和内存请求,以及需要健康探测。有多种方法可以实施策略和治理并使我们的策略保持不变,我们的选择可能取决于组织规模、Kubernetes 环境的成熟度以及其他考虑因素。无论如何进行,我们都需要跨团队和集群的可见性以及一种有效且一致地管理策略的方法,以便安全高效地运行 Kubernetes。

    了解更多信息,按需观看网络研讨会:https://www.fairwinds.com/kube-clinic-how-to-run-kubernetes-securely-and-efficiently-0?submissionGuid=1d0bf274-f046-43cb-9687-ccda4671e7f8


    原文🔗:

    https://medium.com/uptime-99/k8s-clinic-how-to-run-kubernetes-securely-and-efficiently-4a874a570630


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
5月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|pod或容器的安全上下文配置解析
云原生|kubernetes|pod或容器的安全上下文配置解析
117 0
|
6月前
|
Kubernetes Java 容器
如何获取k8s容器里运行的jar包
如何获取k8s容器里运行的jar包
165 0
|
7月前
|
Kubernetes 流计算 容器
Flink on k8s的话,怎么在容器运行前初始化一些脚本?
Flink on k8s的话,怎么在容器运行前初始化一些脚本?
48 1
|
6月前
|
JSON Kubernetes Docker
k8s 集群中运行 docker registry 镜像仓库
k8s 集群中运行 docker registry 镜像仓库
646 0
|
2月前
|
Kubernetes 网络协议 Java
在Kubernetes上运行Flink应用程序时
【2月更文挑战第27天】在Kubernetes上运行Flink应用程序时
38 10
|
7月前
|
Kubernetes 监控 Docker
深入解析 Kubernetes 架构:掌握主节点、工作节点和容器运行时
深入解析 Kubernetes 架构:掌握主节点、工作节点和容器运行时
112 0
|
7月前
|
Kubernetes jenkins 持续交付
jenkins结合k8s构建流水线如何提升运行性能和构建效率
jenkins结合k8s构建流水线如何提升运行性能和构建效率
|
9月前
|
容器
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——运行场景
阿里云最新产品手册——云基础产品与基础设施——计算——弹性容器实例——通用部署ACK虚拟节点组件创建ECI Pot——虚拟节点和弹性容器ECI——运行场景自制脑图
241 1
|
5月前
|
Kubernetes Java 流计算
在Kubernetes上运行Flink应用程序时,你可以使用Flink Kubernetes Client提供的命令来提交作业
在Kubernetes上运行Flink应用程序时,你可以使用Flink Kubernetes Client提供的命令来提交作业
45 6
|
5月前
|
Kubernetes 安全 Cloud Native
云原生|kubernetes|安全漏扫神器trivy的部署和使用
云原生|kubernetes|安全漏扫神器trivy的部署和使用
128 0

推荐镜像

更多