Kubernetes对象的规约和状态

这篇文章主要讲解了“ Kubernetes对象的规约和状态”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ Kubernetes对象的规约和状态”吧!

十余年的福海网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整福海建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“福海网站设计”,“福海网站推广”以来,每个客户项目都认真落实执行。

 对象规约(Spec) 和状态(Status)

每个Kubernetes对象都包含两个嵌套的对象字段,它们控制对象的配置:对象规范(spec)和对象状态(status)。 spec是必须字段,它描述了对象的所需状态以及您希望对象具有的特性。 status描述对象的实际状态,并由Kubernetes系统提供和更新。 在任何给定时间,Kubernetes控制面板都会持续地管理对象的实际状态,以匹配您提供的所需状态。

例如, Kubernetes Deployment 是一个对象,它表示在集群上运行的应用程序。 创建部署时,可以设置部署规约,以指定希望运行应用程序的三个副本。 Kubernetes系统读取部署规约并启动所期望的应用程序的三个实例,更新状态到与规约相匹配的情况。 如果这些实例中的任何一个失败(状态更改),Kubernetes系统将通过在本例中进行纠正(启动替换实例)来响应spec和状态之间的差异 。

关于对象 spec、status 和 metadata 的更多信息,查看 Kubernetes API 约定。

描述一个Kubernetes对象

在Kubernetes中创建对象时,必须提供描述其所需状态的对象规约,以及关于该对象的一些基本信息(例如名称)。 当使用Kubernetes API创建对象时(直接或通过kubectl),该API请求的请求体中必须包含有JSON格式的信息。 通常,都在.yaml文件中向kubectl提供信息。 kubectl在发出API请求时将信息转换为JSON。

下面是一个.yaml文件示例,它显示了Kubernetes部署所需的字段和对象规约:

application/deployment.yaml Kubernetes对象的规约和状态
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2kind: Deploymentmetadata:  name: nginx-deploymentspec:  selector:    matchLabels:      app: nginx  replicas: 2 # tells deployment to run 2 pods matching the template  template:    metadata:      labels:        app: nginx    spec:      containers:      - name: nginx        image: nginx:1.7.9        ports:        - containerPort: 80

使用类似于上面的.yaml文件创建部署的一种方法是在kubectl命令行界面中使用kubectl apply命令,将.yaml文件作为参数传递。  如下示例:

kubectl apply -f https://k8s.io/examples/application/deployment.yaml --record

输出如下类似结果:

deployment.apps/nginx-deployment created

在要创建的Kubernetes对象的.yaml文件中,需要为以下字段设置值 :

  • apiVersion - 创建这个对象所使用的Kubernetes API版本

  • kind - 创建这个对象的类型

  • metadata - 帮助惟一标识对象的数据,包括 name字符串、UID和可选的 namespace

还需要提供对象的spec字段。 对象spec的精确格式对于每个Kubernetes对象都是不同的,并且包含特定于该对象的嵌套字段。 Kubernetes API引用可以帮助您找到使用Kubernetes创建的所有对象的 spec格式。 例如, Pod 对象的 spec 格式可以在这里找到, Deployment 对象的 spec 格式可以在这里找到。

感谢各位的阅读,以上就是“ Kubernetes对象的规约和状态”的内容了,经过本文的学习后,相信大家对 Kubernetes对象的规约和状态这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网站标题:Kubernetes对象的规约和状态
文章分享:http://scyanting.com/article/gseohh.html