Kubernetes

概述

Kubernetes的亲爹是Google,基于其内部的Brog和Omega以及其他系统实践的开源操作系统。

Kubernetes是容器编排工具,可以为应用程序提供强大的编排功能,下图是应用在Kubernetes中的基本架构。

应用在Kubernetes中的基本架构

客户端(用户、运行在其他Pod或外部的客户端程序的统称)向Service发出请求,Service将请求转发至被ReplicationController或ReplicaSet接管的某一个Pod中,Pod中的容器执行具体的请求。

图中的Service、Pod、ReplicationController等都是Kubernetes提供的资源,Service和RC、RS都是通过标签选择器来匹配Pods。

Tips:Pod还可以被其他Controller接管,ReplicationController和ReplicaSet只是众多Controller中的两个,控制器章节中会进行更详细的说明。

资源

Kubernetes中有许多资源供我们使用,如Deployment、Pod、Service等,每一种资源都有各自的用途。

我们通常都通过编写YAML配置文件的方式创建资源,配置文件通常包括以下四个部分:

  • apiVersion:资源所属的API组,可以通过kubectl explain的方式查看资源所属的组,随着Kubernetes版本的不同,部分beta版的资源类型可能会被放入其他组;

  • kind:资源类型;

  • metadata:资源的元数据,包含:资源名、资源标签等;

  • spec:资源的规格(资源的相关配置);

Last updated

Was this helpful?