温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Kubernetes对象的规约和状态

发布时间:2021-09-17 14:58:47 来源:亿速云 阅读:132 作者:chen 栏目:云计算

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

 对象规约(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对象的规约和状态这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI