K8s基础概念

发布时间 2023-06-01 15:28:48作者: 东行天下

一、资源与对象简述

Kubernetes 中的所有内容都被抽象为“资源”,如 Pod、Service、Node 等都是资源。“对象”就是“资源”的实例,是持久化的实体。如某个具体的 Pod、某个具体的 Node。Kubernetes 使用这些实体去表示整个集群的状态。

对象的创建、删除、修改都是通过 “Kubernetes API”,也就是 “Api Server” 组件提供的 API 接口,这些是 RESTful 风格的 Api,与 k8s 的“万物皆对象”理念相符。命令行工具 “kubectl”,实际上也是调用 kubernetes api。

对象规约(Spec)和状态(Status)
每个Kubernetes对象包含两个嵌套的对象字段,它们负责管理对象的配置,他们分别是 “spec” 和 “status”
“spec” 是 “规约”、“规格” 的意思,spec 是必需的,它描述了对象的期望状态(Desired State)—— 希望对象所具有的特征。
status 描述了对象的 实际状态(Actual State) ,它是由 Kubernetes 系统提供和更新的。在任何时刻,Kubernetes 控制面一直努力地管理着对象的实际状态以与期望状态相匹配。

示例:

 1 apiVersion: v1
 2 kind: Pod
 3 metadata:
 4     name: myapp-pod
 5     labels:
 6       app: myapp
 7 spec:
 8     containers:
 9     - name: myapp-container
10       image: busybox
11       command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']

二、对象的常用属性