您当前的位置:首页头号正文

本地文件-kubectl命令行工具-Kubernetes

2022-03-18 13:48:27

Kubernetes最基本的组成部件是pod:单个容器或者联系紧密的要一起调度到同一台机器上的一组容器。pod是部署的基本单元并且代表的是一个服务实例。由于它是部署的单元,因此也是水扩展(单元,在扩大或者缩小容量时,开发者就会增加或者移除pod。我们可以为market-data服务定义一组pod。在应用目录下创建一个名称为market-data- replica-set.yml的文件,不要担心这是否有意义。

在文件中添加代码清单。在Kubernetes中,我们一般用YAML文件向调度器声明指令。这些指令定义了一些Kubernetes对象,而pod就是其中一种。这些配置文件代表了所期望的集群状态。在将这些配置信息应用于Kubernetes后,调度器会持续工作来维持这一理想状态。在本文件中,我们定义了一个ReplicaSet,这是一个用来管理一组pod的Kubernetes对象。为了将该文件应用于本地集群,我们可以使用kubectl命令行工具。

在启动Minikube后,它应该会自动配置kubectl命令以操作集群。这个工具会和由集群主节点开放的API进行交互。Kubernetes会异步创建所定义的对象。我们可以使用kubectl来观察操作进度。运行kubectl get pods命令会列出已经创建的pod。第一次启动会耗费几分钟的时间,因为节点要下载Docker镜像。读者已经在前面看到了自己并没有创建单独的pod。直接创建或者销毁pod都是不正常的;相反,pod是由控制器管理的。控制器负责接收某些期望的状态然后执行一系列操作来达到这一状态。这种观测-比较-执行的循环会持续执行。

读者已经见过了最常见的控制器类型:ReplicaSet。如果读者曾经在AWS或者GCP上遇到过实例组,则会发现它们的功能是比较相似的。复制集的目标是确保在任何时间都有指定数量的pod处于运行状态。比如,假设某个pod消失了——可能是集群中某个节点出现了故障——复制集会察觉到集群的当前状态和期望状态不一致,然后尝试在集群的其他地方重新分配一个pod以进行替换。

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!

虚拟

未来