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        打印客户端和服务器版本信息

———————————————————————————————————————————————————————————————————————————

                                                                                                                         无敌小马爱学习

posted on 2025-03-23 09:32  马俊南  阅读(213)  评论(0)    收藏  举报