Kuberntes的kubectl常用命令

以下是一份 Kubernetes kubectl 的常用命令总结,涵盖部署、运维、问题排查和资源管理。建议收藏备用:


一、部署与管理资源

1. 基础操作

  • 创建资源

    kubectl apply -f <manifest.yaml>    # 通过 YAML 文件创建/更新资源
    kubectl create deployment <name> --image=<image>  # 快速创建 Deployment
    kubectl expose deployment <name> --port=80 --type=LoadBalancer  # 创建 Service
    
  • 更新资源

    kubectl apply -f <updated-manifest.yaml>   # 更新配置
    kubectl set image deployment/<name> <container>=<new-image>  # 更新镜像
    kubectl rollout restart deployment/<name>  # 重启 Deployment(触发滚动更新)
    
  • 删除资源

    kubectl delete -f <manifest.yaml>   # 删除 YAML 中定义的资源
    kubectl delete pod <pod-name>       # 删除指定 Pod
    kubectl delete deployment <name>    # 删除 Deployment
    

2. 查看资源状态

  • 查看资源列表

    kubectl get pods                    # 查看所有 Pod
    kubectl get deployments             # 查看所有 Deployment
    kubectl get services                # 查看所有 Service
    kubectl get nodes                   # 查看集群节点状态
    kubectl get configmaps              # 查看 ConfigMap
    kubectl get secrets                 # 查看 Secret
    
  • 详细信息

    kubectl describe pod <pod-name>     # 查看 Pod 详细信息(事件、状态等)
    kubectl describe node <node-name>   # 查看节点资源分配情况
    
  • 查看日志

    kubectl logs <pod-name>             # 查看 Pod 日志
    kubectl logs -f <pod-name>          # 实时跟踪日志(类似 tail -f)
    kubectl logs <pod-name> -c <container>  # 多容器 Pod 指定容器查看日志
    

二、运维与调试

1. 扩缩容

  • 手动扩缩容

    kubectl scale deployment/<name> --replicas=3  # 调整副本数
    
  • 自动扩缩容 (HPA)

    kubectl autoscale deployment/<name> --min=2 --max=5 --cpu-percent=80  # 基于 CPU 自动扩缩
    kubectl get hpa                      # 查看 HPA 状态
    

2. 进入容器调试

  • 执行命令
    kubectl exec -it <pod-name> -- /bin/sh   # 进入容器终端
    kubectl exec <pod-name> -- <command>     # 在容器内执行单条命令
    

3. 网络与端口转发

  • 端口转发到本地

    kubectl port-forward <pod-name> 8080:80  # 将 Pod 的 80 端口转发到本地 8080
    kubectl port-forward service/<svc-name> 8080:80  # 转发 Service 端口
    
  • 查看网络策略

    kubectl get networkpolicy          # 查看网络策略
    

三、问题排查

1. 资源状态检查

  • 查看事件

    kubectl get events --sort-by=.metadata.creationTimestamp  # 按时间排序查看事件
    
  • 资源使用情况

    kubectl top nodes                 # 查看节点资源(CPU/Memory)使用
    kubectl top pods                  # 查看 Pod 资源使用
    

2. Pod 故障排查

  • 查看 Pod 状态

    kubectl get pods -o wide          # 查看 Pod 所在节点及 IP
    kubectl get pods --show-labels    # 查看 Pod 的标签
    
  • 常见错误场景

    kubectl get pods -w               # 实时监控 Pod 状态变化
    kubectl describe pod <pod-name>   # 检查 Events 中的错误信息(如镜像拉取失败、资源不足)
    

3. 集群状态检查

  • 集群信息
    kubectl cluster-info              # 查看集群基本信息
    kubectl version --short           # 查看 kubectl 和集群版本
    kubectl get componentstatuses     # 查看核心组件状态(如 scheduler、controller-manager)
    

四、高级操作

1. 配置管理

  • 编辑资源

    kubectl edit deployment/<name>    # 直接编辑 Deployment 配置
    kubectl edit configmap/<name>     # 编辑 ConfigMap
    
  • 管理 ConfigMap/Secret

    kubectl create configmap <name> --from-file=<path>  # 从文件创建 ConfigMap
    kubectl create secret generic <name> --from-literal=key=value  # 创建 Secret
    

2. 资源导出与迁移

  • 导出资源配置

    kubectl get deployment/<name> -o yaml > deploy.yaml  # 导出 YAML
    
  • 跨命名空间操作

    kubectl get pods -n <namespace>   # 指定命名空间
    kubectl config set-context --current --namespace=<ns>  # 设置默认命名空间
    

3. 调试工具

  • 临时容器调试(需 Kubernetes v1.23+)
    kubectl debug <pod-name> -it --image=busybox  # 添加临时调试容器
    

五、常用命令速查表

场景命令示例
部署与更新kubectl apply -f deploy.yaml
查看 Pod 日志kubectl logs -f <pod-name>
进入容器kubectl exec -it <pod-name> -- /bin/bash
查看 Service 详情kubectl describe svc <service-name>
删除资源kubectl delete pod,svc -l app=myapp (按标签删除)
查看资源 YAMLkubectl get pod <pod-name> -o yaml
回滚 Deploymentkubectl rollout undo deployment/<name>

六、实用技巧

  1. 别名简化命令
    ~/.bashrc~/.zshrc 中添加:

    alias k=kubectl
    alias kgp="kubectl get pods"
    alias kgd="kubectl get deployments"
    
  2. 使用 --help

    kubectl <command> --help      # 查看子命令帮助(如 `kubectl create --help`)
    
  3. JSONPath 查询

    kubectl get pods -o jsonpath='{.items[*].metadata.name}'  # 提取所有 Pod 名称
    

掌握这些命令后,可以应对 Kubernetes 日常部署、运维和问题排查的绝大多数场景!建议结合官方文档实践:
👉 Kubernetes 官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/966981.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

杂记:下载了BootLoader和APP到程序中无反应

杂记&#xff1a;下载了BootLoader和APP到程序中无反应 是因为采用了printf输出打印。占用了大量堆栈导致程序运行异常。并且没有打开Use MicroLIB库的话会导致无法启动程序。 解决办法&#xff1a; 1、关闭printf打印。 2、如果不关闭printf打印&#xff0c;则加大Heap_Size…

Unet 改进:引入残差模块ResidualBlock

目录 1. ResidualBlock 2. UNet 引入残差模块 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. ResidualBlock 残差连接(Residual Connection)是深度学习中一种重要的技术,主要用于解决深层网络训练中的梯度消失和网络退化问题。它首次…

对接DeepSeek

其实&#xff0c;整个对接过程很简单&#xff0c;就四步&#xff0c;获取key&#xff0c;找到接口文档&#xff0c;接口测试&#xff0c;代码对接。 获取 KEY https://platform.deepseek.com/transactions 直接付款就是了&#xff08;现在官网暂停充值2025年2月7日&#xff0…

【基于SprintBoot+Mybatis+Mysql】电脑商城项目之上传头像和新增收货地址

&#x1f9f8;安清h&#xff1a;个人主页 &#x1f3a5;个人专栏&#xff1a;【Spring篇】【计算机网络】【Mybatis篇】 &#x1f6a6;作者简介&#xff1a;一个有趣爱睡觉的intp&#xff0c;期待和更多人分享自己所学知识的真诚大学生。 目录 &#x1f680;1.上传头像 -持久…

【大模型】硅基流动对接DeepSeek使用详解

目录 一、前言 二、硅基流动介绍 2.1 硅基流动平台介绍 2.1.1 平台是做什么的 2.2 主要特点与功能 2.2.1 适用场景 三、硅基流动快速使用 3.1 账户注册 3.2 token获取 3.2.1 获取token技巧 四、Cherry-Studio对接DeepSeek 4.1 获取 Cherry-Studio 4.2 Cherry-Stud…

告别2023~2024

时间过得真快&#xff0c;距离上次写作2年多了。2023年&#xff5e;2024年的这两年时光里经历太多人生大事&#xff1a; 房贷&#xff0c;提前还贷买车&#xff0c;全款拿下租房搬家媳妇怀孕&#xff0c;独自照顾&#xff0c;……老人离世开盲盒喜提千金&#xff0c;百岁宴&am…

基于yolov11的阿尔兹海默症严重程度检测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv11的阿尔兹海默症严重程度检测系统是一种创新的医疗辅助工具&#xff0c;旨在通过先进的计算机视觉技术提高阿尔兹海默症的早期诊断和病情监测效率。阿尔兹海默症是一种渐进性的神经退行性疾病&#xff0c;通常表现为认知障碍、记忆丧失和语言障碍等症状…

2025我的第二次社招,写在春招之季

先说一个好消息&#xff0c;C那些事 4w star了&#xff01; 前面断更了一个月&#xff0c;本篇文章就可以看到原因&#xff0c;哈哈。 大家好&#xff0c;我叫光城&#xff0c;腾讯实习转正做后端开发&#xff0c;后去小公司做数据库内核&#xff0c;经过这几年的成长与积累&am…

使用Docker + Ollama在Ubuntu中部署deepseek

1、安装docker 这里建议用docker来部署&#xff0c;方便简单 安装教程需要自己找详细的&#xff0c;会用到跳过 如果你没有安装 Docker&#xff0c;可以按照以下步骤安装&#xff1a; sudo apt update sudo apt install apt-transport-https ca-certificates curl software-p…

Java集合List详解(带脑图)

允许重复元素&#xff0c;有序。常见的实现类有 ArrayList、LinkedList、Vector。 ArrayList ArrayList 是在 Java 编程中常用的集合类之一&#xff0c;它提供了便捷的数组操作&#xff0c;并在动态性、灵活性和性能方面取得了平衡。如果需要频繁在中间插入和删除元素&#xf…

【config目录】SpringBoot应用配置存放的地方

application.properties之前总是存放于默认的resources目录下&#xff0c;现在想想其实是不合适的&#xff0c;上线后其实这个配置是需要更改的&#xff0c;因此我们不要打包到jar包中。 根据SpringBoot应用配置查找规则&#xff0c;如果在jar包中resources目录查找不到的话&a…

洛谷 B3616 【模板】队列

B3616 【模板】队列 - 洛谷 | 计算机科学教育新生态 题目描述 请你实现一个队列&#xff08;queue&#xff09;&#xff0c;支持如下操作&#xff1a; push(x)&#xff1a;向队列中加入一个数 x。pop()&#xff1a;将队首弹出。如果此时队列为空&#xff0c;则不进行弹出操作…

布丁扫描:手机扫描的纯净之选

在众多手机扫描软件中&#xff0c;布丁扫描凭借其纯粹的使用体验脱颖而出。它是一款功能强大且完全免费的手机端扫描工具&#xff0c;没有任何广告干扰&#xff0c;用户可以畅享纯净的使用过程。更值得一提的是&#xff0c;布丁扫描从未设置过充值入口&#xff0c;也不会在扫描…

2025 CCF BDCI|“基于TPU平台的OCR模型性能优化”一等奖作品

2024年12月&#xff0c;中国计算机学会在海南博鳌成功举办了第十二届CCF大数据与计算智能大赛&#xff08;简称2024 CCF BDCI&#xff09;。本届比赛的算能赛道吸引了1748名选手报名&#xff0c;经过激烈角逐&#xff0c;北京航空航天大学的“常务副SOTA”团队脱颖而出&#xf…

22.[前端开发]Day22-CSS单位-CSS预处理器-移动端视口

1 CSS常见单位详解 CSS中的单位 CSS中的绝对单位&#xff08; Absolute length units &#xff09; CSS中的相对单位&#xff08; Relative length units &#xff09; 1.em: 相对自己的font-size&#xff1b;如果自己没有设置, 那么会继承父元素的font-size 2.如果font-size中…

网站改HTTPS方法

默认的网站建设好后打开的样子那看起来像是钓鱼网站&#xff0c;现在的浏览器特别只能&#xff0c;就是你新买来的电脑默认的浏览器同样也会出现这样“不安全”提示。 传输协议启动了向全球用户安全传输网页内容的流程。然而&#xff0c;随着HTTPS的推出&#xff0c;传输协议通…

MySQL的底层原理与架构

前言 了解MySQL的架构和原理对于很多的后续很多的操作会有很大的帮助与理解。并且很多知识都与底层架构相关联。 了解MySQL架构 通过上面的架构图可以得知&#xff0c;Server层中主要由 连接器、查询缓存、解析器/分析器、优化器、执行器 几部分组成的&#xff0c;下面将主要…

极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant

作者&#xff1a;卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&a…

艾蒿染色体水平基因组-文献精读111

A chromosome-scale genome assembly of Artemisia argyi reveals unbiased subgenome evolution and key contributions of gene duplication to volatile terpenoid diversity 一项关于艾蒿&#xff08;Artemisia argyi&#xff09;的染色体尺度基因组组装揭示了无偏的亚基因…

【Linux系统】线程:线程的优点 / 缺点 / 超线程技术 / 异常 / 用途

1、线程的优点 创建和删除线程代价较小 创建一个新线程的代价要比创建一个新进程小得多&#xff0c;删除代价也小。这种说法主要基于以下几个方面&#xff1a; &#xff08;1&#xff09;资源共享 内存空间&#xff1a;每个进程都有自己独立的内存空间&#xff0c;包括代码段…