Kubernetes-入门概念
1. 为什么我们需要 Kubernetes?
从传统的物理服务器部署到虚拟机部署,再到现代的容器化部署,应用部署方式不断演进以提高资源利用率和部署效率。
- 物理服务器部署资源利用率低且扩展困难;
- 虚拟机部署虽然实现了资源隔离和一定程度的资源共享,但仍存在资源开销大、启动慢等问题;
- 容器部署通过轻量级虚拟化技术,实现了应用与运行环境的打包,具有启动快、资源占用少等优势。
但随着容器数量增长,保持容器化应用程序的启动和运行可能很复杂,因为它们通常涉及部署在不同机器上的许多容器!
Kubernetes 提供了一种调度和部署这些容器的方法,并将它们扩展到您想要的状态并管理它们的生命周期,使用 Kubernetes 以可移植、可扩展和可扩展的方式实现基于容器的应用程序。
2. Kubernetes 是什么?
Kubernetes 提供了一个弹性运行分布式系统的框架,负责应用程序的扩展和故障转移,提供部署模式等等,例如,Kubernetes 可以轻松管理系统的金丝雀部署。
Kubernetes 提供:
- 服务发现和负载平衡 :Kubernetes 可以使用 DNS 名称或使用自己的 IP;
地址公开容器,如果容器的流量很高,Kubernetes 能够负载均衡和分配网络流量,从而使部署稳定; - 存储编排 :Kubernetes 允许您自动挂载您选择的存储系统,例如本地存储、公共云提供商等;
- 自动推出和回滚 :可以使用 Kubernetes 描述已部署容器的所需状态,它可以以受控速率将实际状态更改为所需状态,例如,您可以自动化Kubernetes为您的部署创建新容器、删除现有容器并将其所有资源用于新容器;
- 自动装箱 :您为 Kubernetes 提供了一组节点,可用于运行容器化任务,您告诉 Kubernetes 每个容器需要多少 CPU 和 内存 (RAM),Kubernetes 可以将容器安装到您的节点上,以充分利用您的资源;
- 自我修复 :Kubernetes 会重启失败的容器、替换容器、杀死不响应用户定义的健康检查的容器,并且在它们准备好提供服务之前不会向客户端通告它们;
- 秘密和配置管理 :Kubernetes 允许您存储和管理敏感信息,例如密码、OAuth 令牌和 SSH 密钥,可以部署和更新机密和应用程序配置,而无需重建容器映像,也无需在堆栈配置中公开机密;
3. Kubernetes 组件

Kubernetes 集群采用 Master-Worker 架构,由 控制面板 和 一个或多个工作节点 组成。




