命令总结
kubectl 常用命令总结
https://zhuanlan.zhihu.com/p/423527602
api-version相关
kubectl api-resources -o wide # 查看资源的api版本
kubectl api-resources --api-group apps -o wide # 查看api版本为apps的资源
pod相关
kubectl delete pod --all # 删除所有pod
kubectl delete pod -l app=flannel -n kube-system # 根据label删除pod
kubectl describe pod XXX -n kube-system # 查看pod描述
kubectl logs xxx -n kube-system # 查看pod 日志 (如果pod有多个容器需要加-c 容器名)
kubectl get pod # 查看pod
--show-labels 显示pod的label标签
-n kube-system 查看kube-system命名空间下的pod
--all-namespaces 查看所有ns下面的pod
-o wide 显示pod详细信息(含所在节点)
-o yaml 以yaml格式展示pod
-L label_name 将标签列以lable_name显示
-l lable_name 显示有lable_name的pod
'! env' 取反,不含env标签
资源类型及简写
pods (po)
services (svc)
replicationcontrollers (rc)
nodes (no)
events (ev)
componentstatuses (cs)
limitranges (limits)
persistentvolumes (pv)
persistentvolumeclaims (pvc)
resourcequotas (quota)
secrets
查看容器日志
kubectl logs pod名 -c 容器名
kubectl log myapp-pod -c test
- f 持续输出日志
- - previous 查看前一个容器的日志
进入到指定pod中的指定容器
kubectl exec -it <pod_name> -c <container_name> -n <namespace> -- /bin/bash
# pod中只有一个容器则不用指定容器名称
修改pod的标签
kubectl get pods --show-labels # 查看标签
kubectl label pod my-pod tier=label1 --overwrite=True # 修改现有标签需要overwrite选项
kubectl label pod pod_name tier=label_name # 添加标签
kubectl label node node2 disktype- # 删除标签
云服务器查看外网IP地址方法
#返回IP地址
curl ip.6655.com/ip.aspx
curl whatismyip.akamai.com
wget -qO - ifconfig.co
curl icanhazip.com
dig +short myip.opendns.com @resolver1.opendns.com
curl ident.me
curl v4.ident.me
curl curlmyip.com
curl ifconfig.me
curl inet-ip.info
#返回IP和地区
curl ip.cn
curl cip.cc
通过yaml文件创建资源
kubectl create -f xxx.yaml # 不建议使用,无法更新,必须先delete
kubectl apply -f xxx.yaml # 创建+更新,可以重复使用
kubectl delete -f xxx.yaml # 删除这个文件创建的资源,这个文件不会被删除,还能用vim编辑
kubectl create -f deployment.yaml --record # --record参数可以记录版本更新的命令
显示资源yaml文件字段
kubectl explain svc --recursive
deployment相关
kubectl scale deployment spark-worker-deployment --replicas=8 # 扩容
kubectl delete deployment xxx -n kube-system # 删除应用(先确定是由说明创建的,再删除对应的kind)
kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1 # 更新镜像
导出配置文件
kubectl get ds -n kube-system -l k8s-app=kube-proxy -o yaml>kube-proxy-ds.yaml # 导出proxy
kubectl get deployment -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-dp.yaml # 导出kube-dns
kubectl get services -n kube-system -l k8s-app=kube-dns -o yaml >kube-dns-services.yaml
kubectl get configmap -n kube-system -o wide -o yaml > configmap.yaml # 导出所有 configmap
删除kube-system下Evicted状态的所有pod
kubectl get pods -n kube-system |grep Evicted| awk '{print $1}'|xargs kubectl delete pod -n kube-system
查看集群信息
kubectl cluster-info # 查看集群信息
kubectl get componentstatuses # 查看集群各组件状态
kubelet相关
ps -ef | grep kubelet # 查看kubelet进程启动参数
journalctl -u kubelet -f # 查看日志
vim /etc/systemd/system/kubelet.service.d/10-kubeadm.conf # 修改启动参数
集群调度相关
kubectl cordon node1 # 设为不可调度状态
kubectl drain node1 # 将pod赶到其他节点
kubectl uncordon node1 # 解除不可调度状态
kubectl taint nodes master.k8s node-role.kubernetes.io/master- # master运行pod
kubectl taint nodes master.k8s node-role.kubernetes.io/master=:NoSchedule master不运行pod
分类:
K8S
, K8S / K8S-02-安装
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)