在 Kubernetes 中,所有的内容都抽象为资源,用户需要通过操作资源来管理 Kubernetes。 Kubernetes 的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,其实就是在Kubernetes 集群中运行一个个的容器,并将指定的程序跑在容器中。
    Kubernetes 的最小管理单元是 pod 而不是容器,所以只能将容器放在 pod 中,而 Kubernetes 一般也不会直接管理 Pod,而是通过 Pod 控制器 来管理 Pod 的。Pod 可以提供服务之后,就要考虑如何访问 Pod 中服务,kubernetes 提供了 Service 资源实现这个功能。当然,如果 Pod 中程序的数据需要持久化,kubernetes 还提供了存储系统。学习 kubernetes 的核心,就是学习如何对集群上的 Pod、Pod 控制器、Service、存储等各种资源进行操作。
    我们通过 kubernetes 的 API 来操作整个集群。 可以通过 kubectl、ui、curl 最终发送 http+json/yaml 方式的请求给 API Server,然后控制 k8s 集群。k8s 里的所有的资源对象都可以采用 yaml 或 JSON 格式的文件定义或描述。
    image.png