Categories
程式開發

非云环境中Kubernetes的配置和运行: Kubernetes 架构


这是非云环境中Kubernetes的配置和运行系列的第四篇文章,本文将主要介绍Kubernetes的架构及主要组件,包括Pods、服务、卷、命名空间等。

想要先睹为快的读者,可直接克隆该项目的 GitHub 代码库。代码库中的文档正在持续改进中,并完全可用。代码库地址为: mvallim/kubernetes-under-the-hood

Kubernetes

“Kubernetes是一种用于管理容器化工作负载和服务的可移植、可扩展的开源平台,便于声明式配置和自动化。Kubernetes生态系统规模庞大,且增长快速,其服务,支持和工具已得到广泛使用。

“Google于2014年开源了Kubernetes项目。Kubernetes的建立基于Google十五年大规模生产工作负载的经验,并综合了来自社区的最佳思考和实践。

引用自: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

Kubernetes的优点包括:

  • 敏捷应用开发和部署:与使用虚拟机镜像相比,Kubernetes改进了容器镜像创建的便捷性和效率。
  • 容器开发、集成和部署:支持高频次、可靠的容器镜像构建和部署,并由于镜像的不可更改性,使得回滚更为快速和简单
  • 有效隔离开发(Dev)和运维(Ops):应用容器镜像创建是在构建/发布阶段,而非部署阶段,使应用得以从架构中解耦。
  • 可观察性(Observability):不仅涵盖操作系统层级的信息和度量,而且涉及应用健康等深层信息。
  • 跨开发、测试和生产的环境一致性:无论对于云环境中,还是在个人笔记本上,都具有一致的运行环境。
  • 云/操作系统发行版的可移植性:可运行在任何环境中,包括Debian、Ubuntu、CoreOS、本地部署、Google Kubernetes Engine、Amazon Elastic Container Service等。
  • 以应用为中心的管理:将抽象层级从在虚拟硬件上运行操作系统,提升为使用逻辑资源在操作系统上运行应用。
  • 松耦合、分布式、弹性、无约束的微服务:应用切分为可动态部署并管理的更小尺度独立部分,而非运行在专用机器上的单体应用。
  • 资源隔离:支持应用性能可预测。
  • 资源使用:更高效、更紧密。

原文链接:【https://www.infoq.cn/article/qwjxQwEQyIow9AvAHW9G】。未经作者许可,禁止转载。