一、资源管理介绍
在kubernetes中,一切皆资源,就好比”在Java中,一切皆对象“。我们所说的Pod、Service、PV和PVC等,在kubernetes中,都是资源。
kubernetes的最小管理单元是Pod,而不是容器。容器是存放在Pod中,kubernetes也不会直接管理Pod,而是通过Pod控制器来管理。这里提到的Pod和Pod控制器也是kubernetes的资源。
常见的PodController有:Deployment、ReplicaSet、DaemonSet、CronJob、Job、StatefulSet等;
学习kubernetes的核心,就是学习对kubernetes上的Pod、Pod控制器Service、存储等资源进行操作。
二、资源管理方式
命令式对象管理:直接使用命令操作kubernetes资源,只能操作活动对象,无法审计、追踪,适用于测试环境临时操作,很少在生产上使用这种方式部署应用
kubectl run nginx-pod --image=nginx:1.7.9 --port=80
命令式对象配置:通过命令和配置文件去操作kubernetes资源,可以审计追踪,项目比较大时,配置文件多,操作麻烦;适用于开发环境
kubectl create/patch/edite/delete -f nginx-pod.yaml
声明式对象配置:通过apply命令操作kubernetes资源,apply是创建和更新的结合体,Pod存在则更新,不存在则创建;意外情况下难以调试,适用于开发环境
kubectl apply/delete -f nginx-pod.yaml