Kubernetes指南
Linux性能优化实战
eBPF 核心技术与实战
SDN指南
个人博客
搜索文档…
中文
序言
基础入门
Kubernetes 简介
Kubernetes 基本概念
Kubernetes 101
Kubernetes 201
Kubernetes 集群
核心原理
核心原理
架构原理
设计理念
核心组件
资源对象
部署配置
部署指南
kubectl 安装
单机部署
特性开关
最佳配置
版本支持
集群部署
附加组件
Kubernetes-The-Hard-Way
插件扩展
API 扩展
访问控制
Scheduler 扩展
网络插件
运行时插件 CRI
存储插件
网络策略
Ingress Controller
Cloud Provider 扩展
Device 插件
服务治理
服务治理
Istio
Devops
实践案例
实践概览
资源控制
集群高可用
应用高可用
调试
端口映射
端口转发
用户管理
GPU
HugePage
安全
审计
备份恢复
证书轮换
大规模集群
大数据与机器学习
Serverless
排错指南
排错概览
集群排错
Pod 排错
网络排错
PV 排错
Windows 排错
云平台排错
排错工具
社区贡献
开发指南
单元测试和集成测试
社区贡献
附录
生态圈
学习资源
国内镜像
如何贡献
参考文档
由
GitBook
提供支持
Kubernetes 简介
Kubernetes 是谷歌开源的容器集群管理系统,是 Google 多年大规模容器管理技术 Borg 的开源版本,主要功能包括:
基于容器的应用部署、维护和滚动升级
负载均衡和服务发现
跨机器和跨地区的集群调度
自动伸缩
无状态服务和有状态服务
广泛的 Volume 支持
插件机制保证扩展性
Kubernetes 发展非常迅速,已经成为容器编排领域的领导者。
Kubernetes 是一个平台
Kubernetes 提供了很多的功能,它可以简化应用程序的工作流,加快开发速度。通常,一个成功的应用编排系统需要有较强的自动化能力,这也是为什么 Kubernetes 被设计作为构建组件和工具的生态系统平台,以便更轻松地部署、扩展和管理应用程序。
用户可以使用 Label 以自己的方式组织管理资源,还可以使用 Annotation 来自定义资源的描述信息,比如为管理工具提供状态检查等。
此外,Kubernetes 控制器也是构建在跟开发人员和用户使用的相同的 API 之上。用户还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能。
这种设计使得可以方便地在 Kubernetes 之上构建各种应用系统。
Kubernetes 不是什么
Kubernetes 不是一个传统意义上,包罗万象的 PaaS (平台即服务) 系统。它给用户预留了选择的自由。
不限制支持的应用程序类型,它不插手应用程序框架, 也不限制支持的语言 (如 Java, Python, Ruby 等),只要应用符合
12 因素
即可。Kubernetes 旨在支持极其多样化的工作负载,包括无状态、有状态和数据处理工作负载。只要应用可以在容器中运行,那么它就可以很好的在 Kubernetes 上运行。
不提供内置的中间件 (如消息中间件)、数据处理框架 (如 Spark)、数据库 (如 mysql) 或集群存储系统 (如 Ceph) 等。这些应用直接运行在 Kubernetes 之上。
不提供点击即部署的服务市场。
不直接部署代码,也不会构建您的应用程序,但您可以在 Kubernetes 之上构建需要的持续集成 (CI) 工作流。
允许用户选择自己的日志、监控和告警系统。
不提供应用程序配置语言或系统 (如
jsonnet
)。
不提供机器配置、维护、管理或自愈系统。
另外,已经有很多 PaaS 系统运行在 Kubernetes 之上,如
Openshift
,
Deis
和
Eldarion
等。 您也可以构建自己的 PaaS 系统,或者只使用 Kubernetes 管理您的容器应用。
当然了,Kubernetes 不仅仅是一个 “编排系统”,它消除了编排的需要。Kubernetes 通过声明式的 API 和一系列独立、可组合的控制器保证了应用总是在期望的状态,而用户并不需要关心中间状态是如何转换的。这使得整个系统更容易使用,而且更强大、更可靠、更具弹性和可扩展性。
核心组件
Kubernetes 主要由以下几个核心组件组成:
etcd 保存了整个集群的状态;
apiserver 提供了资源操作的唯一入口,并提供认证、授权、访问控制、API 注册和发现等机制;
controller manager 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上;
kubelet 负责维护容器的生命周期,同时也负责 Volume(CVI)和网络(CNI)的管理;
Container runtime 负责镜像管理以及 Pod 和容器的真正运行(CRI);
kube-proxy 负责为 Service 提供 cluster 内部的服务发现和负载均衡
Kubernetes 版本
Kubernetes 的稳定版本在发布后会继续支持 9 个月。每个版本的支持周期为:
Kubernetes version
Release month
End-of-life-month
v1.6.x
March 2017
December 2017
v1.7.x
June 2017
March 2018
v1.8.x
September 2017
June 2018
v1.9.x
December 2017
September 2018
v1.10.x
March 2018
December 2018
v1.11.x
June 2018
March 2019
参考文档
What is Kubernetes?
HOW CUSTOMERS ARE REALLY USING KUBERNETES
以前
序言
下一个 - 基础入门
Kubernetes 基本概念
最近更新
2yr ago
复制链接
大纲
Kubernetes 是一个平台
Kubernetes 不是什么
核心组件
Kubernetes 版本
参考文档