(三)K8S的资源管理的三种方法
(第三章)资源管理yaml语言介绍资源管理方式介绍方式1:命令式对象管理方式2:命令式对象配置方式3:声明式对象配置配置方式总结kubectl在node节点上执行资源管理本章节主要介绍yaml语法和kubernetes的资源管理方式学习kubernetes的核心,就是学习如何对集群上的Pod、Pod控制器、Service、存储等各种资源进行操作[外链图片转存失败,源站可能有防盗链机制,建议将图片保
(第三章)资源管理
yaml语言介绍
资源管理方式介绍
方式1:命令式对象管理
方式2:命令式对象配置
方式3:声明式对象配置
配置方式总结
kubectl在node节点上执行
资源管理
本章节主要介绍yaml语法和kubernetes的资源管理方式
学习kubernetes的核心,就是学习如何对集群上的Pod、Pod控制器、Service、存储
等各种资源进行操作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W4JFixu6-1651391374869)(en-resource://database/1603:1)]
yaml语言介绍
小提示:
1 书写yaml切记
:
后面要加一个空格 2 如果需要将多段yaml配置放在一个文件中,中间要使用
---
分隔 3 下面是一个yaml转json的网站,可以通过它验证yaml是否书写正确
https://www.json2yaml.com/convert-yaml-to-json
资源管理方式介绍
-
命令式对象管理:直接使用命令去操作kubernetes资源
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
(只进行创建和更新操作)
类型 | 操作对象 | 适用环境 | 优点 | 缺点 |
---|---|---|---|---|
命令式对象管理 | 对象 | 测试 | 简单 | 只能操作活动对象,无法审计、跟踪 |
命令式对象配置 | 文件 | 开发 | 可以审计、跟踪 | 项目大时,配置文件多,操作麻烦 |
声明式对象配置 | 目录 | 开发 | 支持目录操作 | 意外情况下难以调试 |
命令式对象管理
kubectl是kubernetes集群的命令行工具,通过它能够对集群本身进行管理,并能够在集群上进行容器化应用的安装部署。kubectl命令的语法如下:
kubectl [command] [type] [name] [flags]
comand:指定要对资源执行的操作,例如create、get、delete
type:指定资源类型,比如deployment、pod、service
name:指定资源的名称,名称大小写敏感
flags:指定额外的可选参数
常用的命令如下:
查看所有pod
kubectl get pod
查看某个pod
kubectl get pod pod_name
查看某个node
kubectl get node node-name
查看某个pod,以yaml格式展示结果
kubectl get pod pod_name -o yaml
kubectl get pod pod_name -o json 以JSON的方式查看结果数据
查看帮助命令:kubectl -help
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1E3tOq5w-1651391374870)(en-resource://database/1605:1)]
kubernetes中所有的内容都抽象为资源,
可以通过下面的命令进行查看:
kubectl api-resources
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nna5MElb-1651391374871)(en-resource://database/1607:1)]
方式2:命令式对象配置
存在配置文件XXX.yaml文件
命令式对象配置的方式操作资源,可以简单的认为:命令 + yaml配置文件(里面是命令需要的各种参数)
方式3:声明式对象配置
其实声明式对象配置就是使用apply描述一个资源最终的状态(在yaml中定义状态)
使用apply操作资源:
如果资源不存在,就创建,相当于 kubectl create
如果资源已存在,就更新,相当于 kubectl patch
总结
使用推荐: 三种方式应该怎么用 ?
创建/更新资源 使用声明式对象配置 kubectl apply -f XXX.yaml
删除资源 使用命令式对象配置 kubectl delete -f XXX.yaml
查询资源 (测试常用) 使用命令式对象管理 kubectl get(describe) 资源名称
node 节点上支持kubectl命令的方法
它的配置文件是$HOME/.kube,如果想要在node节点运行此命令,需要将master上的.kube文件复制到node节点上,即在master节点上执行下面操作:
scp -r HOME/.kube node1: HOME/
更多推荐
所有评论(0)