Kubernetes YAML文件的基础知识
使用Kubernetes对象进行”意图记录”。
Kubernetes对象是Kubernetes上的永久实体之一。Kubernetes使用这些实体来表示集群的状态。
以下示例可以表达以上内容:
-
- どのようなコンテナ化されたアプリケーションが稼働しているか(またそれらはどのノード上で動いているか)
-
- それらのアプリケーションから利用可能なリソース
- アプリケーションがどのように振る舞うかのポリシー、例えば再起動、アップグレード、耐障害性ポリシーなど
创建一次对象后,Kubernetes会始终确保该对象的存在。
使用Kubernetes API来操作Kubernetes对象。
在操作Kubernetes对象时,无论是创建、修改还是删除,都必须使用Kubernetes API。
kubectl命令行接口
当您使用kubectl命令行界面时,该CLI会代替您发布Kubernetes API命令来处理操作。
您可以从您的程序中使用客户端库,直接使用Kubernetes API。
对象spec与对象status
大多数的Kubernetes对象都包含有两个嵌套对象字段,用于管理对象的配置。
规格
在spec中,需要描述对象所要具备的特征,作为理想状态。
状态
通过Kubernetes系统和其组件提供和更新,以展示对象的当前状态。Kubernetes控制平面将始终积极地管理,以确保您指定的期望状态与当前状态相匹配。
如何描述Kubernetes对象
apiVersion: v1 # どのバージョンのKubernetesAPIを利用してオブジェクトを作成するか
kind: Pod # どの種類のオブジェクトを作成するか、今回はpod
metadata: # オブジェクトを一意に特定するための情報、文字列のname、UID、また任意のnamespaceが該当する
name: my-first-pod # 今回だとpodの名前、一意である必要がある。
labels:
component: nginx # ラベル
spec: # オブジェクトの望ましい状態
containers:
- name: nginx # コンテナの名前
image: nginx:latest # 実行するdocker image
必须字段 ɡé)
フィールド名概要apiVersionどのバージョンのKubernetesAPIを利用してオブジェクトを作成するかkindどの種類のオブジェクトを作成するかmetadataオブジェクトを一意に特定するための情報、文字列のname、UID、また任意のnamespaceが該当するspecオブジェクトの望ましい状態
在创建Kubernetes对象时,需提供包含基本信息(如名称)和描述所需状态的对象规范(spec)。
使用KubernetesAPI创建对象时(无论是直接调用API还是使用kubectl),API请求都必须将这些信息以JSON格式包含在请求的请求体中。
spec的准确格式因每个Kubernetes对象而异,并且每个对象都有特定的嵌套字段。Kubernetes API 参考文档可以帮助您找到关于Kubernetes中可创建的所有对象的spec格式。例如,有关Pod对象的spec格式,请查看PodSpec v1 core;关于Deployment对象的spec格式,请查看DeploymentSpec v1 apps。
请查阅参考资料。
Kubernetes简介
理解 Kubernetes 对象 | Kubernetes
实体是一个英语词汇,意思包括实体、存在、实在(物体)、本质和本体等。在信息技术领域中,实体通常指通过某种标识、标记或位置信息指示的独立且唯一的对象。它的近义词包括”实例”(instance)和”对象”(object)等。