Kubernetes是什么?

Kubernetes已经成为云原生软件的标准,因为它与容器有关. 事实上,云原生计算基金会(CNCF)最近的调查发现 Kubernetes在生产中的Usage已经增长到78%. 然而, 就像任何在短时间内迅速流行起来的技术一样, 关于Kubernetes是什么以及Kubernetes和容器化带来的安全考虑有很多困惑. 举个例子:在CNCF同样的调查中, 40%的受访者认为安全性是容器Usage/部署的一个挑战,38%的受访者认为复杂性是一个挑战.

针对负责加固容器部署的安全工程师, 这绝对是一个需要克服的学习曲线. 帮你跟上进度, 我们来看看Kubernetes是什么, 它是如何工作的, 并探索一些基本的Kubernetes安全概念.

免费试用 Kubernetes安全指南

Kubernetes是什么?

Definition

Kubernetes是一个用于编排和管理容器工作负载的平台.g. 码头工人容器). 

自2014年首次发布以来, Kubernetes——一个开源CNCF毕业项目,其根源可以追溯到谷歌的开发团队——已经成为DevOps和云原生圈子中最受欢迎的工具之一.

理解Kubernetes的先决条件是首先理解容器. 简单地说, 容器是轻量级软件包,包含应用程序运行所需的所有依赖项. 容器解决了在不同环境中可靠运行应用程序的问题. 因为它们重量轻,便于携带, 容器越来越受欢迎,对现代微服务和web应用程序的发展至关重要.

而Usage单个容器并不需要太多的管理和编排, 大型应用程序需要能够扩展. 现代开发团队需要能够自动化和扩展容器部署过程. 这就是容器化工作负载管理工具(如Kubernetes)发挥作用的地方. Kubernetes提供了缺失的管理和编排.

在讨论Kubernetes时,“管理和编排”这个短语经常被抛出. 然而,这并没有告诉我们太多细节. 简单来说, 这意味着Kubernetes可以实现负载平衡, 配置管理, 存储资源配置, 自动资源分配(e.g. 每个容器的CPU和RAM),以及容器部署的放大或缩小.

Kubernetes vs Docker

围绕Docker vs Kubernetes的话题可能会有很多困惑. 然而,其实很简单:

  • Docker是一个创建和运行容器的平台. 它不是唯一的容器平台,但却是最受欢迎的.
  • Kubernetes是一个管理多个容器的工具,包括Docker容器.
  • Docker提供了一个与Kubernetes相同的工具Swarm.

最后一点可能会导致一些混乱. Docker恰好提供了一个工具——Swarm——它提供了与Kubernetes类似的功能. 然而,Kubernetes是迄今为止更受欢迎的管理和编排工具.

重要的Kubernetes概念和术语

除了集装箱, 在开始UsageKubernetes时,还有其他重要的概念需要理解. 让我们来看看一些关键术语:

  • K8s. 这是Kubernetes的同义词. 开发人员有时通过取单词的首字母和尾字母来简化流行术语, 它们之间的字母数, 并将其组合成这个词的简写. 互操作性变成“i14y”,本地化变成“l10n”,Kubernetes变成“k8s”.
  • 豆荚. 这些是Kubernetes中可以部署的最小单位. pod由一个或多个共享存储和网络资源的容器以及运行容器的规范组成。.
  • 工作负载. 这些是Kubernetes运行的应用程序(实际上是一组pod). Kubernetes部署更新,并根据配置的工作负载来扩展pod.
  • 节点. 运行工作负载的计算“硬件”(比如RAM和CPU)被称为节点. “硬件”可以是任何东西,从树莓派到虚拟机再到物理服务器, 这里的关键是计算资源来自于节点. 主要有两种类型的节点:运行工作负载的工作/从属节点和管理一组工作/从属节点的主节点.
  • 集群. Kubernetes集群是一组节点. 在集群中,工作节点运行工作负载,主节点控制工作节点的工作.

Kubernetes是用来做什么的?

Kubernetes可以在任何基础设施即代码的容器部署方法有用的地方有效地发挥作用. 这意味着敏捷开发团队和专注于DevOps实践的团队将经常UsageKubernetes来帮助自动化他们的持续集成/持续交付(CI/CD)管道. 另外, Kubernetes可以监控节点的健康状况和资源利用率,并根据需要进行伸缩,从而帮助自动扩展云原生应用程序.

重要的Kubernetes安全概念

当然, 而Kubernetes则从自动化和可伸缩性的角度增加了价值, 这也给安全团队带来了新的麻烦. 如何确保应用程序和服务的安全部署? 一如既往地, 首先要了解威胁模型和风险偏好, 但是有一些基本知识可以帮助你开始.

  • 云原生安全的4CKubernetes提出了一个4层的云原生安全方法,即4C: C颂歌, Container, C光泽, 而且 C大声/Co-location /Corporate数据中心. 在每一层,您都需要确保遵循安全最佳实践. 这在不同的层次上意味着不同的事情. 例如, 确保代码对传输中的数据进行加密,并将访问限制在必要的网络端口上, 禁止容器中的特权用户, 加固可配置的Kubernetes集群组件, 并遵循云服务提供商的安全最佳实践.
  • Pod安全策略. UsageKubernetes pod,有3个基本安全策略. 正确地保护您的环境, 您需要了解它们的可用性/安全性之间的权衡, 并相应地采取行动.
    • 享有特权的. 最广泛的权限级别. Usage此策略可以实现已知的特权升级.
    • 基线/违约. 特权和限制之间的中间地带. 防止已知的特权升级.
    • 限制. 基于Kubernetes Pod加固最佳实践, 这是3个基本策略中最严格的.
  • Pod安全上下文. pod的安全上下文在运行时配置其安全设置. 这包括访问控制等方面, 不管有没有特权, 挂载只读文件系统, 等. 你可能认为这听起来很像Pod的安全策略,事实上它们是相关的. 安全上下文是在运行时发生的, 而安全策略允许您为集群中Usage的上下文Definition参数.
  • 秘密. 基础架构即代码工具很棒, 但您可能不希望OAuth令牌或密码位于YAML文件中. 秘密是库伯尼特人储存这类敏感信息的方式.

制定容器可见性和漏洞扫描计划也至关重要,以确保问题补救迅速发生,并保持符合任何相关标准. 开始容器漏洞扫描和安全态势评估, 我们推荐阅读 容器持续可见性及符合规定(PDF).

Kubernetes的下一步

现在您已经了解了Kubernetes在高层上的工作原理(自动控制和管理容器部署),接下来就可以安全地部署k8s了. 以深入了解如何Usage容器实现安全性, Kubernetes, 以及无服务器基础设施, 注册查看免费 如何层安全到现代云应用网络研讨会 由云安全专家希勒尔·索洛介绍.

×
  反馈
本网站Usagecookie来实现其功能,并用于分析和营销目的. 如果您继续Usage本网站,即表示您同意Usagecookie. 如需更多资料,请参阅我们的 饼干通知.
OK