kubectl 常用命令(kubectl常用命令汇总)

简介: kubectl 常用命令(kubectl常用命令汇总)

kubectl 指令

状态查询


# 查看集群信息
kubectl cluster-info
systemctl status kube-apiserver
systemctl status kubelet
systemctl status kube-proxy
systemctl status kube-scheduler
systemctl status kube-controller-manager
systemctl status docker

node相关


# 查看namespaces
kubectl get namespaces
# 为节点增加lable
kubectl label nodes 10.126.72.31 points=test
# 查看节点和lable
kubectl get nodes --show-labels
# 查看状态
kubectl get componentstatuses
# Node的隔离与恢复
## 隔离
kubectl cordon k8s-node1
## 恢复
kubectl uncordon k8s-node1

查询


# 查看nodes节点
kubectl get nodes
# 通过yaml文件查询
kubectl get -f xxx-yaml/
# 查询资源
kubectl get resourcequota
# endpoints端
kubectl get endpoints
# 查看pods
# 查看指定空间`kube-system`的pods
kubectl get po -n kube-system
# 查看所有空间的
kubectl get pods -o wide --all-namespaces
# 其他的写法
kubectl get pod -o wide --namespace=kube-system
# 获取svc
kubectl get svc --all-namespaces
# 其他写法
kubectl get services --all-namespaces
# 通过lable查询
kubectl get pods -l app=nginx -o yaml|grep podIP
# 当我们发现一个pod迟迟无法创建时,描述一个pods
kubectl describe pod xxx
# 查询事件
kubectl get events --all-namespaces

删除所有pod


# 删除所有pods
kubectl delete pods --all
# 删除所有包含某个lable的pod和serivce
kubectl delete pods,services -l name=
# 删除ui server,然后重建
kubectl delete deployments kubernetes-dashboard --namespace=kube-system
kubectl delete services kubernetes-dashboard --namespace=kube-system
# 强制删除部署
kubectl delete deployment kafka-1
# 删除rc
kubectl delete rs --all && kubectl delete rc --all
## 强制删除Terminating状态的pod
kubectl delete deployment kafka-1 --grace-period=0 --force

滚动


# 升级
kubectl apply -f xxx.yaml --record
# 回滚
kubectl rollout undo deployment javademo
# 查看滚动升级记录
kubectl rollout history deployment {名称}

查看日志


# 查看指定镜像的日志
kubectl logs -f kube-dns-699984412-vz1q6 -n kube-system
kubectl logs --tail=10 nginx  
#指定其中一个查看日志
kubectl logs kube-dns-699984412-n5zkz -c kubedns --namespace=kube-system
kubectl logs kube-dns-699984412-vz1q6 -c dnsmasq --namespace=kube-system
kubectl logs kube-dns-699984412-mqb14 -c sidecar --namespace=kube-system

检查类指令


# 获取节点和服务版别信息
kubectl get nodes
# 获取节点和服务版别信息,并检查附加信息
kubectl get nodes -o wide
# 获取pod信息,默许是default称号空间
kubectl get pod
# 获取pod信息,默许是default称号空间,并检查附加信息【如:pod的ip及在哪个节点运行】
kubectl get pod -o wide
# 获取指定称号空间的pod
kubectl get pod -n kube-system
# 获取指定称号空间中的指定pod
kubectl get pod -n kube-system podName
# 获取一切称号空间的pod
kubectl get pod -A 
# 检查pod的详细信息,以yaml格局或json格局显示
kubectl get pods -o yaml
kubectl get pods -o json
# 检查pod的标签信息
kubectl get pod -A --show-labels 
# 根据Selector(label query)来查询pod
kubectl get pod -A --selector="k8s-app=kube-dns"
# 检查运行pod的环境变量
kubectl exec podName env # 检查指定pod的日志
kubectl logs -f --tail 500 -n kube-system kube-apiserver-k8s-master
# 检查一切称号空间的service信息
kubectl get svc -A
# 检查指定称号空间的service信息
kubectl get svc -n kube-system
# 检查componentstatuses信息
kubectl get cs
# 检查一切configmaps信息
kubectl get cm -A
# 检查一切serviceaccounts信息
kubectl get sa -A
# 检查一切daemonsets信息
kubectl get ds -A
# 检查一切deployments信息
kubectl get deploy -A
# 检查一切replicasets信息
kubectl get rs -A
# 检查一切statefulsets信息
kubectl get sts -A
# 检查一切jobs信息
kubectl get jobs -A
# 检查一切ingresses信息
kubectl get ing -A
# 检查有哪些称号空间
kubectl get ns
# 检查pod的描绘信息
kubectl describe pod podName
kubectl describe pod -n kube-system kube-apiserver-k8s-master  
# 检查指定称号空间中指定deploy的描绘信息
kubectl describe deploy -n kube-system coredns
# 检查node或pod的资源运用情况
# 需要heapster 或metrics-server支撑
kubectl top node
kubectl top pod 
# 检查集群信息
kubectl cluster-info 或  kubectl cluster-info dump 
# 检查各组件信息【172.16.1.110为master机器】
kubectl -s https:/ /172.16.1.110:6443 get componentstatuses

操作类指令


# 创立资源
kubectl create -f xxx.yaml
# 应用资源
kubectl apply -f xxx.yaml
# 应用资源,该目录下的一切 .yaml, .yml, 或 .json 文件都会被运用
kubectl apply -f# 创立test称号空间
kubectl create namespace test
# 删去资源
kubectl delete -f xxx.yaml
kubectl delete -f# 删去指定的pod
kubectl delete pod podName
# 删去指定称号空间的指定pod
kubectl delete pod -n test podName
# 删去其他资源
kubectl delete svc svcName
kubectl delete deploy deployName
kubectl delete ns nsName
# 强制删去
kubectl delete pod podName -n nsName --grace-period=0 --force
kubectl delete pod podName -n nsName --grace-period=1
kubectl delete pod podName -n nsName --now
# 编辑资源
kubectl edit pod podName

进阶指令操作


# kubectl exec:进入pod启动的容器
kubectl exec -it podName -n nsName /bin/sh #进入容器
kubectl exec -it podName -n nsName /bin/Bash #进入容器
# kubectl label:添加label值
kubectl label nodes k8s-node01 zone=north  #为指定节点添加标签 
kubectl label nodes k8s-node01 zone-       #为指定节点删去标签
kubectl label pod podName -n nsName role-name=test    #为指定pod添加标签
kubectl label pod podName -n nsName role-name=dev --overwrite  #修改lable标签值
kubectl label pod podName -n nsName role-name-        #删去lable标签
# kubectl翻滚晋级; 经过 kubectl apply -f myapp-deployment-v1.yaml 启动deploy
kubectl apply -f myapp-deployment-v2.yaml     #经过装备文件翻滚晋级
kubectl set image deploy/myapp-deployment myapp="registry.cn-beijing.aliyuncs.com/google_registry/myapp:v3"   #经过指令翻滚晋级
kubectl rollout undo deploy/myapp-deployment 或许 kubectl rollout undo deploy myapp-deployment    #pod回滚到前一个版别
kubectl rollout undo deploy/myapp-deployment --to-revision=2  #回滚到指定前史版别
# kubectl scale:动态弹性
kubectl scale deploy myapp-deployment --replicas=5 
# 动态弹性
kubectl scale --replicas=8 -f myapp-deployment-v2.yaml
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
7月前
|
Kubernetes 应用服务中间件 nginx
最全的kubectl命令用法
本文系统讲解kubectl命令行工具:详解所有子命令(创建、查询、部署、调试等)、API资源列表、自动补全配置,并通过大量实操示例(如创建/查看/编辑/删除资源、扩缩容、回滚、标签管理等)助你快速掌握Kubernetes集群管理核心技能。(239字)
1085 143
|
缓存 资源调度 算法
yarn的使用
yarn的使用
539 0
|
安全 Shell Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 重启 reboot命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 重启 reboot命令 使用指南
1827 0
|
6月前
|
人工智能 弹性计算 自然语言处理
阿里云OpenClaw一键秒级部署指南+免费TOKEN领取攻略
OpenClaw(原Clawdbot)是开源AI自动化代理引擎,让大模型真正“动手干活”。本文详解阿里云一键秒级部署(10分钟搞定)及免费领取100万Tokens攻略,零门槛打造7×24小时在线数字员工!
1574 8
|
消息中间件 存储 Kafka
10倍降本、10倍无损弹性!Kafka Serverless 基础版与专业版重磅发布!
云消息队列 Kafka 版基于 Apache Kafka 构建,提供高吞吐量与高可扩展性的分布式消息队列服务,广泛应用于日志收集、监控数据聚合、流式数据处理及在离线分析等场景,是 AI 与大数据时代企业数据处理体系的核心组件。
|
存储 Kubernetes 调度
在K8S中,PV和PVC是如何关联?
在K8S中,PV和PVC是如何关联?
|
Ubuntu Python
【Python】报错ModuleNotFoundError: No module named ‘XXX‘
【Python】报错ModuleNotFoundError: No module named ‘XXX‘
|
Windows
windows错误0x80070057?各种安装软件时出现参数错误0x80070057解决办法
本文介绍了Windows系统中常见的错误代码0x80070057的解决方法。该错误通常出现在安装IIS、Edge浏览器、系统更新或文件复制等操作中。文章推荐使用FixWin 11这款修复工具,帮助用户快速解决此类问题。工具支持多种Windows系统问题修复,操作简单,适合普通用户使用。
1427 0
|
XML 前端开发 Java
JAVA调试webservice接口
JAVA调试webservice接口
952 1