介绍
通过 kubectl 命令对资源进行管理,分三种方式:
命令式对象管理:直接使用命令去操作kubernetes资源,部署nginx 服务就用的这种方式
kubectl run nginx-pod --image=nginx:1.17.1 --port=80命令式对象配置:通过命令配置和配置文件去操作kubernetes资源
kubectl create/patch -f nginx-pod.yaml声明式对象配置:通过apply命令和配置文件去操作kubernetes资源
kubectl apply -f nginx-pod.yaml没有资源就创建,有资源就更新
安装 kube-flannel 就用的这种方式
三种方式比较
| 类型 | 操作对象 | 适用环境 | 优点 | 缺点 |
|---|---|---|---|---|
| 命令式对象管理 | 对象 | 测试 | 简单 | 只能操作活动对象,无法审计、跟踪 |
| 命令式对象配置 | 文件 | 开发 | 可以审计、跟踪 | 项目大时,配置文件多,操作麻烦 |
| 声明式对象配置 | 目录 | 开发 | 支持目录操作 | 意外情况下难以调试 |
三种方式使用场景
创建/更新资源 使用声明式对象配置:
kubectl apply -f XXX.yaml
删除资源 使用命令式对象配置:
kubectl delete -f XXX.yaml
查询资源 使用命令式对象管理
kubectl get(describe) 资源名称