ToB企服应用市场:ToB评测及商务社交产业平台

标题: Kubernetes-理解对象 [打印本页]

作者: 飞不高    时间: 2022-9-16 17:18
标题: Kubernetes-理解对象
Kubernetes 理解 Kubernetes 对象

什么是 Kubernetes 对象

在 Kubernetes 系统中,Kubernetes 对象是持久化的实体。Kubernetes 使用这些实体去表示整个集群的状态。
Kubernetes 对象描述了如下信息:
Kubernetes 目标性记录

Kubernetes 对象是"目标性记录",一旦创建该对象,Kubernetes 系统将不断工作以确保该对象存在。
Kubernetes 集群的期望状态

通过创建对象,你就是在告知 Kubernetes 系统,你想要的集群工作负载状态看起来应是什么样子的,这就是 Kubernetes 集群所谓的期望状态(Desired State)。
如何操作 Kubernetes 对象

无论是创建、修改或者删除,都需要使用 Kubernetes API。比如,当使用 kubectl 命令行接口(CLI)时,CLI 会调用必要的 Kubernetes API;也可以在程序中使用客户端库,来直接调用 Kubernetes API。
对象规约(Spec)与状态(Status)

必须在创建对象时设置 spec,描述你希望对象所具有的特征:期望状态(Desired State)。
status 描述了对象的当前状态(Current State),它是由 Kubernetes 系统和组件设置并更新的。
在任何时刻,Kubernetes 控制平面都一直都在积极地管理着对象的实际状态,以使之达成期望状态。
如何描述 Kubernetes 对象

创建 Kubernetes 对象时,必须提供对象的 spec,用来描述该对象的期望状态,以及关于对象的一些基本信息(例如名称)。
这里有一个 .yaml 示例文件,展示了如何用 Kubernetes 部署 nginx:
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4.   name: nginx-deployment
  5. spec:
  6.   selector:
  7.     matchLabels:
  8.       app: nginx
  9.   replicas: 2 # 告知 Deployment 运行 2 个与该模板匹配的 Pod
  10.   template:
  11.     metadata:
  12.       labels:
  13.         app: nginx
  14.     spec:
  15.       containers:
  16.       - name: nginx
  17.         image: nginx:1.14.2
  18.         ports:
  19.         - containerPort: 80
复制代码
然后通过 kubectl 命令行接口(CLI)的 apply 命令,可以部署 nginx:
  1. kubectl apply -f https://k8s.io/examples/application/deployment.yaml
复制代码
yaml 必须字段

在想要创建的 Kubernetes 对象所对应的 .yaml 文件中,需要配置的字段如下:
参考资料

思维导图


B站学习

从零开始学习k8s:理解k8s对象

抖音学习



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4