①. 什么是k8s对象
①. k8s里面操作的资源实体,就是k8s的对象,可以使用yaml来声明对象。然后让k8s根据yaml的声明创建出这个对象(kubectl create/run /expose…)
②. 操作Kubernetes对象—无论是创建、修改,或者删除—需要使用Kubernetes API。比如,当使用kubectl命令行接口时,CLI 会执行必要的Kubernetes API调用
③. Kubernetes对象指的是Kubernetes系统的持久化实体,所有这些对象合起来,代表了你集群的实际情况。常规的应用里,我们把应用程序的数据存储在数据库中,Kubernetes将其数据以Kubernetes对象的形式通过api server存储在etcd中。(集群中所有的资源都是etc中,k8s只依赖一个储存就是etcd)。具体来说,这些数据(Kubernetes对象)描述了:
集群中运行了哪些容器化应用程序(以及在哪个节点上运行)
集群中对应用程序可用的资源(网络,存储等)
应用程序相关的策略定义,例如,重启策略、升级策略、容错策略
其他Kubernetes管理应用程序时所需要的信息
scheduler先计算应该去哪个节点部署
④. 对象的spec和status,每一个Kubernetes对象都包含了两个重要的字段:
spec必须由您来提供,描述了您对该对象所期望的目标状态
status只能由Kubernetes系统来修改,描述了该对象在Kubernetes系统中的实际状态
Kubernetes通过对应的 控制器,不断地使实际状态趋向于您期望的目标状态