Kubernetes04:kubernetes集群命令行工具kubectl
1、kubectl概述
kubectl是Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够再集群上进行容器化应用的安装部署
2、kubectl命令的语法
- comand:指定要对资源执行的操作,例如create、get、describe和delete
2)TYPE:指定资源类型,资源类型是大小写敏感的,开发者能够以单数、复数和缩略的形式。例如:
2、帮助命令
kubectl --help
kubectl get --help
1)基础命令
create 通过文件名或标准输入创建资源
expose 将一个资源公开为一个新的Service
run 在集群中运行一个特定的镜像
set 再对象上设置特定的功能
get 显示一个或多个资源
explain 文档参考资料
edit 使用默认的编辑器编辑一个资源
delete 通过文件名、标准输入、资源名称或者标签选择器来删除资源
2)部署和集群管理命令
部署命令
rollout 管理资源的发布
rolling-update 对给定复制控制器滚动更新
scale 扩容或所容Pod数量,Deplyoment、ReplicaSet、Rc或job
autoscale 创建一个自动选择扩容或者所容并设置Pod数量
集群管理命令
certificate 修改证书资源
cluster-info显示集群信息
top 显示资源(CPU/Memory/Storage)使用。需要Heapster运行
cordon标记节点不可调度
uncordon 标记节点可调度
drain 驱逐节点上的应用准备下线维护
taint 修改节点taint标记
3)故障和调试命令
describe 显示特定资源或资源组的详细信息
logs 在一个Pod中打印一个容器日志,如果Pod只有一个容器,容器可选的
attach 附加到一个运行的容器
exec 执行命令到容器
port-forward 转发一个或者多个本地端口到一个pod
proxy 运行一个proxy到Kubenetes API server
cp 拷贝文件或目录到容器中
auth 检查授权
4)其他命令
高级命令
apply 通过文件名或标准输入对资源应用配置
patch 使用布丁修改、更新资源的字段
replace 通过文件名或标准输入替换一个资源
convert 不同的API版本之间转换装置文件
设置命令
label 更新资源上的标签
annotate 更新资源上的标签
completion 用于实现kubectl工具自动补全
其它命令
api-versions 打印受支持的API版本
config 修改kubeconfig文件(用于访问API,比如配置认证信息)
help 所有帮助命令
plugin 运行一个命令行插件
version 打印客户端和服务版本信息
资源编排(yaml)介绍
yam文件
资源清单文件
资源编排
1、介绍(实际中使用yaml进行操作,kubectl作为一种测试工具)
YAML:仍然是一种标记语言,为了强调这种语言以数据为中心,而不是以标记语言为重点,YMAL是一个可读性高,用来表达数据序列的格式。
2、YAML基本语法
使用空格作为缩进
*缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
*低版本缩进时不允许使用Tab键,只允许使用空格
*一般开头缩进两个空格
*字符后缩进一个空格,比如冒号,逗号等后面
*使用— 表示新的yaml文件开始
*#注释
3、yaml文件组成部分
1)控制器定义
2)被控制对象
3、常用字段含义
一般通过生成的方式编写一个yaml文件,手写困难很大。
第一种方式 当资源没有部署过 使用kubectl create 命令生成yaml文件,而不执行
kubectl create depolyment web --image=ngnix -o yaml --dry-run > my1.ymal
第二种方式 当资源已经部署过 kubectl get 命令导出yaml文件
kubectl get deploy ngnix -o=yaml >my2.yaml