4.k8s_命令详解汇总—kubectl命令工具及命令概述
1 kubectl命令工具
kubectl 是 kubernetes 的命令行工具。它允许用户与kubernetes集群交互,并管理kubernetes对象资源。
安装 kubernetes 集群时一般都会安装 kubectl 工具,一般安装在master节点上,不过node节点也可以自行安装kubectl工具。
(1)安装kubectl
# 下载最新版本: curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl # 下载特定版本: curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.7.0/bin/linux/amd64/kubectl # 下载到本地后,对kubectl二进制添加可执行权限: chmod +x ./kubectl # 将二进制文件移动到PATH中: mv ./kubectl /usr/local/bin/kubectl # 将master节点中/etc/kubernetes/admin.conf文件拷贝到node节点 scp /etc/kubernetes/admin.conf root@10.0.0.106:/etc/kubernetes
在node节点上配置环境变量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile source ~/.bash_profile
检查node节点上是否可以使用 kubectl 命令行工具
[root@k8s-node1 ~]# kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 4d19h v1.28.2 k8s-node1 Ready worker 4d19h v1.28.2 k8s-node2 Ready worker 4d19h v1.28.2
(2)kubectl基本语法
kubectl [command] [TYPE] [NAME] [flags]
command:子命令,用于操作资源对象;如get,create,delete,describe等。
TYPE:资源对象的类型,区分大小写,还能以简写方式表示。如pod,deployment,service等。
NAME:资源对象的名称,区分大小写;如不指定则返回全部资源对象的列表。
注:在一个命令行中也可以同时对多个资源对象进行操作,以多个TYPE和NAME的组合表示。
flags:命令行选项,如“-o <format>”用于指定输出格式。如 -o wide、-o yaml。
2 kubectl命令概述
可以使用kubectl --help来打印出kubectl的子命令,工作中经常需要用到--help来帮忙
2.1 基本命令 (初级):
create 从文件或标准输入创建资源,一般使用-f来指定文件创建资源
expose 基于rc,service,deploy或pod创建Service资源
run 创建并运行特定的镜像, 创建使用 deployment 或 job 管理的容器
set 设置指定资源的特定属性, 例如发布, 每次去set 不用image tag
2.2 基本命令 (中级):
explain 文档或者资源, 可以用来查看资源清单写法
get 显示一个或多个资源
edit 编辑服务器上的资源
delete 按文件名, 标准输入, 资源和名称或资源和标签选择器删除资源
get命令的常用输出方式:
输出格式 格式说明 -o wide 显示资源的额外信息 -o yaml YAML 格式化输出API对象信息 -o json JSON 格式化输出API对象信息
2.3 部署命令:
rollout 管理资源的滚动更新
scale 伸缩RS, RC, Job,deploment等资源的规模
autoscale 自动调整资源对象规模, 如:RS, RC, Job,deploment等资源的规模
2.4 群集管理命令:
certificate 修改证书资源 cluster-info 显示集群信息 top 显示资源(CPU / 内存/ 存储)使用情况, 需要安装 metrics-server 服务 cordon 将节点标记为不可调度(unschedulable) uncordon 将节点标记为可调度(schedulable) drain 设定 node 进入维护模式
taint 更新一个或多个节点上的污点
2.5 故障排除和调试命令:
describe 显示特定资源或资源组的详细信息 logs 在容器中打印容器的日志 attach 附加到正在运行的容器 exec 在容器中执行命令 port-forward 将一个或多个本地端口转发到指定的 pod proxy 运行代理到 Kubernetes API 服务器 cp 将文件和目录复制到容器, 和从容器复制, 跨容器复制文件 auth 检查授权
2.6 高级命令
apply 通过文件名或标准输入将配置应用于资源 patch 使用策略合并补丁更新资源的字段 replace 用文件名或标准输入替换资源 convert 在不同的API版本之间转换配置文件
2.7 设置命令:
label 设置或更新资源上的标签
annotate 更新资源上的注释
completion 命令补全相关功能
2.8 其他命令:
api-resources 在服务器上打印支持的API资源 api-versions 以 "group/version" 的形式在服务器上打印支持的API版本 config 修改 kubeconfig 文件 plugin 提供与插件交互的实用程序 version 打印客户端和服务器版本信息
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号