什么是 Kubernetes 基础架构?

 

Kubernetes 基础架构是指支持 Kubernetes 环境的资源组合(包括服务器、物理机或虚拟机、云平台等)。

 

Kubernetes 是很受欢迎的用于容器编排的开源平台,是实现容器生命周期(从部署到停用)所需的众多运维任务自动化的实践成果。

 

Kubernetes 的基础架构和体系架构内在围绕着集群的概念,集群是指一组机器,在 Kubernetes 术语中称为“节点”。 当使用 Kubernetes 部署容器化工作负载时,您会将它们部署到集群上。节点代表负责运行容器化工作负载的机器(可能是物理机,也可能是虚拟机)。每个 Kubernetes 集群都有一个主节点和至少一个这样的 Worker 节点,但一个集群通常会有多个或更多的 Worker 节点。

vSphere with Kubernetes

vSphere with Kubernetes 基础知识 - vSphere 管理员简介

获取白皮书 

另一个重要的 Kubernetes 概念是“Pod”。根据官方文档介绍,Pod 是 Kubernetes 中最小的可部署单元,在集群的节点上运行。换个角度来看,Pod 代表了应用的各个组件。一个 Pod 通常运行一个容器,但在某些情况下也可以运行多个容器。


最后,Kubernetes 集群体系架构的另一个基本元素是控制平面。它包括 API 服务器和其他四个组件,可根据您的预期状态高效地管理您的节点(或机器)。

 

Kubernetes 基础架构有哪些要求?

运行 Kubernetes 所需的基础架构要求取决于您具体的使用目的。例如,您可以在笔记本电脑上的虚拟机中运行一个 Kubernetes 版本,用于开发或测试。同样,您也可以在托管服务上快速设置环境。但是,许多生产应用场景会需要更多的实质性资源来为正在运行的应用提供支持。大规模高度分布式系统为了实现性能目标或确保高可用性,可能会跨多种云环境和本地部署服务器运行。在这些情况下,需要对适当的基础架构资源进行更大的投资。

 

 

什么是基础架构即代码和 Kubernetes?

基础架构即代码是使用编程语言置备和运行现代基础架构的实践,类似于软件应用的开发和维护方式。

 

基础设施即代码工具有时被称为配置管理工具,提高了传统 IT 运维的自动化程度,尤其能让 DevOps 团队更加专注于优化开发时间、部署频率、系统性能、可靠性、恢复能力和安全性等领域。他们之所以能够实现这些,是因为基础架构即代码帮助他们减少了重复执行基础架构管理任务的时间。

 

由于 Kubernetes 同样可以自动执行运行容器化应用所需的大量运维工作,即使它实际上是一种容器编排工具,但也有人将其视为基础架构即代码。像基础架构即代码一样,Kubernetes 使您能够为集群声明一种预期状态,并自动执行实现或返回该状态所需的许多任务。一些企业和团队将基础架构即代码(或配置管理)工具与 Kubernetes 结合使用,以满足管理云计算基础架构等需求。

 

 

 

如何保护 Kubernetes 的安全

Kubernetes 安全性是容器安全性整体方法的一个方面。容器安全性领域的最终目标是为软件开发生命周期的各个方面(包括 CI/CD 流水线,如果适用)提供保护。Kubernetes 本身包括许多重要的安全性功能,但通常需要针对您的环境和威胁模式对其进行配置(并随时间进行优化),以充分降低风险。


基于角色的访问控制(或 RBAC)就是一个很好的例子。管理员可以借此精细控制用户在环境中可以访问的内容和执行的操作,从而减少特权上报攻击和其他威胁所带来的风险。但是,较早版本的 Kubernetes 默认情况下未启用 RBAC。即使您运行的是最新版本,也要确保每个用户的设置正确,并且仅为他们授予绝对必要的访问权限或特权。定期检查这些内容也是一个好方法。


托管 Kubernetes 开源项目的企业 Cloud Native Computing Foundation 发布了一篇博客文章,介绍了 Kubernetes 安全性的九种不同最佳实践,其中包括正确设置 RBAC 和确保使用最新版本两点。(这是所有软件平台通用的最佳实践。)它们还建议利用 Kubernetes 命名空间功能来提高隔离程度,并通过关闭对敏感端口的访问和限制对 Kubernetes API 的访问,强化集群上运行的节点。


安全性和基础架构运维专家通常还建议在生产环境中运行容器化应用时,确保拥有适当的监控和记录工具。这有助于确保在环境变得越来越复杂时,您还能保留环境的必要可见性和可审核性。

 

 

 

管理 Kubernetes 的优质方法

实施和管理 Kubernetes 的选择有很多。最佳的选择取决于您的应用场景、可用的技能和资源,以及其他因素。启动和运行开源平台可能需要大量的内部专业技能。一般来说,Kubernetes 和云原生开发通常非常适合已经采用 DevOps 和其他现代软件实践与技术的团队。

 

因缺乏必要的内部技能无法自行高效管理 Kubernetes 的企业可能需要考虑选择一种基于底层开源平台的商业或托管选项。补充工具(如基础架构即代码和安全性工具)和第三方支持也有多种选择。

VMware Kubernetes 基础架构相关解决方案和资源

VMware NSX:领先的企业级网络连接和安全性虚拟化平台

VMware NSX Data Center 提供完整的 L2-L7 网络连接和安全性虚拟化平台,使您能够像通过单一窗口管理单个条目一样轻松管理整个网络。

VMware Cloud PKS - Kubernetes 集群

利用简单易用且经济高效的 Kubernetes 集群加速创新。

VMware Tanzu

快速构建应用,一致地运行开源 Kubernetes,并自信地管理整个占用空间。

Kubernetes Academy(Kubernetes 学院)

没有时间,但渴望了解容器和 Kubernetes,对吗?欢迎向 Kubernetes 学院的权威专家们学习。

VMware Essential PKS

基于上游 Kubernetes 和专家支持实现云原生运维的模块化方法

vSphere Integrated Containers

使用 vSphere Integrated Containers,可获得企业级容器基础架构,帮助 IT 运维团队在一个通用平台上并行运行传统应用和容器化应用。