十分钟带你理解Kubernetes核心概念本文将会简单介绍的核心概念
因为这些定义可以在Kubernetes的文档中找到,所以文章也会避免用大段的枯燥的文字介绍
相反,我们会使用一些图表(其中一些是动画)和示例来解释这些概念
我们发现一些概念(比如Service)如果没有图表的辅助就很难全面地理解
在合适的地方我们也会提供Kubernetes文档的链接以便读者深入学习
什么是Kubernetes
Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展
如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件
Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术
使用Kubernetes可以:
自动化容器的部署和复制
随时扩展或收缩容器规模
将容器组织成组,并且提供容器间的负载均衡
很容易地升级应用程序容器的新版本
提供容器弹性,如果容器失效就替换它,等等
实际上,使用Kubernetes只需一个,使用一条命令就可以部署多层容器(前端,后台等)的完整集群:$
kubectl
create
kubectl是和KubernetesAPI交互的命令行程序
现在介绍一些核心概念
集群集群是一组节点,这些节点可以是物理服务器或者虚拟机,之上安装了Kubernetes平台
下图展示这样的集群
注意该图为了强调核心概念有所简化
可以看到一个典型的Kubernetes架构图
上图可以看到如下组件,使用特别的图标表示Service和Label:
Container(容器)
Label()(标签)
ReplicationController(复制控制器)
Service()(服务)
Node(节点)
KubernetesMaster(Kube