kubectl命令行管理工具

网友投稿 260 2022-10-24

kubectl命令行管理工具

kubectl的介绍及命令格式

kubectl的核心功能是通过API Server操作k8s的各种资源对象,是用于控制Kubernetes集群的命令行工具。 语法格式:kubectl [command] [TYPE] [NAME] [flags] command: 对资源执行相应操作的子命令, 如create、 get、 describe、 delete、等 type: 要操作的资源类型, 类型名称大小写敏感,但支持使用单数, 复数或缩写形式,例如pods、services等。 name: 要操作的资源对象名称,大小写敏感,如果省略, 则显示所有资源信息 flags:命令行选项, 或附加参数。如-s或--server等;另外,get等命令在输出时还有一个常用的标志 -o 用于指定输出的格式 -o wide:以纯文本格式显示资源的附件信息 -o name:仅打印资源名称 -o yaml:以YAML格式化输出API对象信息 -n或--namespace:命令行的目标名称 --kubeconfig:使用kubeconfig配置文件的路径,明日~/.kube/config。 -s或--server:指定API Server的地址和端口 e.g. kubectl create deployment java-web --image=10.0.0.250:5000/java.demo -o wide

kubectl的常用命令

命令 描述
create 通过文件名或标准输入创建资源
expose 将一个资源公开为一个新的Service
run 在集群中运行一个特定的镜像
set 在对象上设置特定的功能
get 显示一个或多个资源
explain 文档参考资料
edit 使用默认的编辑器编辑一个资源。
delete 通过文件名、标准输入、资源名称或标签选择器来删除资源。
rollout 管理资源的发布
rolling-update 对给定的复制控制器滚动更新
scale 扩容或缩容Pod数量,Deployment、ReplicaSet、RC或Job
autoscale 创建一个自动选择扩容或缩容并设置Pod数量
certificate 修改证书资源
cluster-info 显示集群信息
top 显示资源(CPU/Memory/Storage)使用。需要Heapster运行
cordon 标记节点不可调度
uncordon 标记节点可调度
drain 驱逐节点上的应用,准备下线维护
taint 修改节点taint标记
describe 显示特定资源或资源组的详细信息
logs 在一个Pod中打印一个容器日志。如果Pod只有一个容器,容器名称是可选的
attach 附加到一个运行的容器
exec 执行命令到容器
port-forward 转发一个或多个本地端口到一个pod
proxy 运行一个proxy到Kubernetes API server
cp 拷贝文件或目录到容器中
auth 检查授权
apply 通过文件名或标准输入对资源应用配置
patch 使用补丁修改、更新资源的字段
replace 通过文件名或标准输入替换一个资源
convert 不同的API版本之间转换配置文件
label 更新资源上的标签
annotate 更新资源上的注释
completion 用于实现kubectl工具自动补全
api-versions 打印受支持的API版本
config 修改kubeconfig文件(用于访问API,比如配置认证信息)
help 所有命令帮助
plugin 运行一个命令行插件
version 打印客户端和服务版本信息

使用kubectl管理应用生命周期

1、创建 kubectl create deployment web --image=lizhenliang/java-demo kubectl get deploy,pods 2、发布 kubectl expose deployment web --port=80 --type=NodePort --target-port=80 --name=web [--record] kubectl get service 3、升级 kubectl set image deployment/web nginx=nginx:1.15 kubectl rollout status deployment/nginx-deployment # 查看升级状态 4、回滚 kubectl rollout history deployment/web # 查看发布记录 kubectl rollout undo deployment/web # 回滚最新版本 kubectl rollout undo deployment/web --to-revision=2 # 回滚指定版本 5、删除 kubectl delete deploy/web kubectl delete svc/web

补充

创建容器:kubectl run

语法格式:kubectl run 资源名称 -it --image=私有仓库镜像名称:标签

查询资源:kubectl get

查询节点状态:kubectl get node 查询资源状态:kubectl get deployment 查询pod容器资源:kubectl get pod 查询主机信息:kubectl get pod -o wide 显示资源文件Yaml格式:kubectl get pod -o yaml

进入一个正在运行的容器:kubectl exec

语法格式:kubectl exec -it 容器id -c 容器名 -- 执行的命令

查看资源详细信息(主要用于排错):kubectl describe 资源类型 资源名称

查看容器控制台的标准输出:kubectl logs 资源名称

删除资源:kubectl delete 资源类型 资源名称

查看命名空间:kubectl get namespace

查看命名空间中的资源对象:kubectl get pod -n kube-system

执行指定的资源文件:kubectl create|apply -f YAML或JASON格式的资源文件

kubectl create 、 kubectl apply和kubectl edit的区别

kubectl create:是先删除所有现有的东西,重新根据yaml文件生成新的。所以要求yaml文件中的配置必须是完整的。 kubectl apply:根据配置文件里面列出来的内容,升级现有的。所以yaml文件的内容可以只写需要升级的属性。 kubectl edit:相当于先使用get命令获得资源配置,由用户通过交互式编辑器修改后再自动使用apply命令将其应用。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot多环境开发及使用方法
下一篇:Kubernetes基础概念及架构
相关文章

 发表评论

暂时没有评论,来抢沙发吧~