7、声明式对象配置
7、声明式对象配置
17.
声明式对象配置
总结: 其实声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态)** 使用apply操作资源:如果资源不存在,就创建,相当于 kubectl create** 如果资源已存在,就更新,相当于 kubectl patch
声明式对象配置跟命令式对象配置很相似、但是他只有一个命令apply(更新创建 已有则更新 没有则创建)
如果使用conmand 中的create 则会报错
使用apply 创建/更新资源
1 | # 更新创建 已有则更新 没有则创建 nginx |
再次执行(已资源此时更新)
1 | # 此时我们已经创建了 我们再运行一下这个配置文件 |
此时我们将nginxpod.yml
中镜像版本修改为2
此时再次执行kubectl apply -f nginxpod.yml
注意:
- 修改pod名称会重新创建一个pod 修改镜像测试即可
1 | # 命名空间的声明 创建一个dev的namespace |
查看 此时返回命名空间没有改变 pod/nginxpod发生改变
查看详情:kubectl describe pod nginxpod -n dev
扩展:kubectl可以在node节点上运行吗 ?
kubectl的运行是需要进行配置的,它的配置文件是$HOME/.kube,如果想要在node节点运行此命令,需要将master上的.kube文件复制到node节点上,即在master节点上执行下面操作:
1 | # 变量形式 |
使用推荐: 三种方式应该怎么用 ?
什么时候使用三种方式的推荐使用方式:
- 创建/更新资源 使用声明式对象配置 kubectl apply -f XXX.yaml
- 删除资源 使用命令式对象配置 kubectl delete -f XXX.yaml
- 查询资源 使用命令式对象管理 kubectl get(describe) 资源名称
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment