当前位置: 首页 > news >正文

Kubernetes(k8s) 常用命令

文章目录

  • 前言
    • Kubernetes(k8s) 常用命令
      • 1. 集群与节点管理
        • 1.1. 查看版本信息: 显示客户端和服务器端的版本信息
        • 1.2. 查看集群信息: 显示控制平面各组件的地址
        • 1.3. 列出k8s集群中所有节点及其状态
        • 1.4. 查看节点详细信息
        • 1.5. 查看k8s节点资源使用: 显示所有节点的 CPU/内存等资源使用情况
        • 1.6. 查看 API 资源支持情况
      • 2. 命名空间管理
        • 2.1. 创建命名空间
        • 2.2. 查看所有命名空间
        • 2.3. 删除命名空间
        • 2.4. 切换到 magic2 命名空间
      • 3. Deployment / Pod / Service /CpnfigMap/Secret 管理
        • 3.1. 列出指定命名空间下的 所有 deployment
        • 3.2. 列出 指定命名空间下的 所有Pod 列表
        • 3.3. 列出 指定命名空间下的 Pod,附带节点与 IP 信息
        • 3.4. 列出 指定命名空间下的 所有 Service 列表
        • 3.5. 列出 指定命名空间下的 所有 ConfigMap
        • 3.6. 列出某个 ConfigMap下 的所有 key
        • 3.7. 统计ConfigMap key 的个数
        • 3.8. 查看某个ConfigMap的 完整 YAML
        • 3.9. 列出 指定命名空间下的 所有 Secret
        • 3.10. 查看某个Secret完整 YAML
      • 4. -o 关键子,用来控制 kubectl输出结果
        • 4.1. 常见的 -o 选项
        • 4.2. 示例1、查询某个附带节点与 IP 信息的pod
        • 4.3.示例2、4.3. 查看某个po的具体配置
      • 5. 详情与日志
        • 5.1. 查看某个 Deployment 的详情
        • 5.2. 查看某个 Pod 的详情
        • 5.3. describe 与 get -o yaml 区别
        • 5.4. 查看 Pod 的日志
        • 5.5. 持续查看日志
        • 5.6. 查看最近5行日志
        • 5.7. 持续查看最近5行日志
      • 6. Pod 调试与进入容器
        • 6.1. 进入 Pod 交互式 shell
      • 7. 创建、删除、更新服务
        • 7.1. 应用 yaml 文件(创建或更新资源)
        • 7.2. 更新服务
        • 7.3. 删除 deployment
        • 7.4. 删除 service

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


Kubernetes(k8s) 常用命令

1. 集群与节点管理

1.1. 查看版本信息: 显示客户端和服务器端的版本信息
kubectl version

在这里插入图片描述

1.2. 查看集群信息: 显示控制平面各组件的地址
kubectl cluster-info

在这里插入图片描述

1.3. 列出k8s集群中所有节点及其状态
kubectl get node

在这里插入图片描述

1.4. 查看节点详细信息
kubectl describe node <ip>

在这里插入图片描述

1.5. 查看k8s节点资源使用: 显示所有节点的 CPU/内存等资源使用情况
kubectl top node

在这里插入图片描述

1.6. 查看 API 资源支持情况
kubectl api-resources

在这里插入图片描述

2. 命名空间管理

2.1. 创建命名空间
kubectl create ns <命名空间>

在这里插入图片描述

2.2. 查看所有命名空间
kubectl get ns

在这里插入图片描述

kubectl get ns | grep yzy

在这里插入图片描述

2.3. 删除命名空间
kubectl delete ns <命名空间>

在这里插入图片描述

2.4. 切换到 magic2 命名空间
kubectl config set-context --current --namespace=yzy

3. Deployment / Pod / Service /CpnfigMap/Secret 管理

3.1. 列出指定命名空间下的 所有 deployment
kubectl get deploy -n <命名空间>

在这里插入图片描述

3.2. 列出 指定命名空间下的 所有Pod 列表
kubectl get po -n <命名空间>

在这里插入图片描述

3.3. 列出 指定命名空间下的 Pod,附带节点与 IP 信息
kubectl get po -n <命名空间> -o wide

在这里插入图片描述

3.4. 列出 指定命名空间下的 所有 Service 列表
kubectl get svc -n <命名空间>

在这里插入图片描述

3.5. 列出 指定命名空间下的 所有 ConfigMap
kubectl get cm -n <命名空间>

在这里插入图片描述

DATA 列 表示ConfigMap 里面有多少个 key:value

3.6. 列出某个 ConfigMap下 的所有 key
kubectl get cm  -n <命名空间> <my-configMap>  -o go-template='{{range $k,$v := .data}}{{$k}}{{"\n"}}{{end}}'

在这里插入图片描述

3.7. 统计ConfigMap key 的个数
kubectl get cm  -n <命名空间> <my-configMap> -o go-template='{{len .data}}'

在这里插入图片描述

3.8. 查看某个ConfigMap的 完整 YAML
kubectl get cm  -n magic2-bj modelmagic-middleware-bj-es-cnf -o yaml

在这里插入图片描述

3.9. 列出 指定命名空间下的 所有 Secret
kubectl get secret -n <命名空间>

在这里插入图片描述

3.10. 查看某个Secret完整 YAML
kubectl get secret -n <命名空间> <my-Secret> -o yaml

在这里插入图片描述

4. -o 关键子,用来控制 kubectl输出结果

4.1. 常见的 -o 选项
输出方式用法说明
-o widekubectl get po -n magic2 -o wide在默认表格基础上多输出一些字段(例如 Pod 的 IP、Node、镜像等)
-o yamlkubectl get po -n magic2 -o yaml输出资源的完整 YAML 描述
-o jsonkubectl get po -n magic2 -o json输出资源的完整 JSON 描述
-o namekubectl get po -n magic2 -o name只输出资源的名字,常用于脚本里
-o jsonpath=…kubectl get po -n magic2 -o jsonpath=‘{.items[*].status.podIP}’按 JSONPath 表达式 提取字段,适合精准查询
-o custom-columns=…kubectl get po -n magic2 -o custom-columns=NAME:.metadata.name,IP:.status.podIP自定义输出列,像表格一样
-o custom-columns-file=FILE从文件里读取自定义列配置适合复杂表格
-o go-template=…kubectl get po -n magic2 -o go-template=‘{{.items[0].status.phase}}’使用 Go 模板提取字段,功能比 jsonpath 更强大
-o go-template-file=FILE从 Go 模板文件读取用于复杂模板
4.2. 示例1、查询某个附带节点与 IP 信息的pod
kubectl get po -n <命名空间> -o wide | grep <具体的ip>

在这里插入图片描述

4.3.示例2、4.3. 查看某个po的具体配置
kubectl get po -n <命名空间> <my-pod> -o yaml

在这里插入图片描述

5. 详情与日志

5.1. 查看某个 Deployment 的详情
kubectl describe deploy <my-deploy> -n <命名空间>
或
kubectl get deploy <my-deploy> -n <命名空间> -o yaml
5.2. 查看某个 Pod 的详情
kubectl describe po <my-pod> -n <命名空间>
或
kubectl get po <my-pod> -n <命名空间> -o yaml
5.3. describe 与 get -o yaml 区别
特性describeget -o yaml
适合人看✅(排错友好)❌(太详细)
包含事件 (Events)
包含完整配置❌(只列重点)✅(完整 YAML 对象)
常用场景排错、看运行状态备份、导出、查看 spec
5.4. 查看 Pod 的日志
kubectl logs  -n <命名空间> <my-pod>

在这里插入图片描述

5.5. 持续查看日志
kubectl logs -f <my-pod> -n  <命名空间>

在这里插入图片描述

5.6. 查看最近5行日志
kubectl logs -n <命名空间> <my-pod> --tail=5 

在这里插入图片描述

5.7. 持续查看最近5行日志
kubectl logs -n <命名空间> <my-pod> --tail=5 -f

在这里插入图片描述

6. Pod 调试与进入容器

6.1. 进入 Pod 交互式 shell
kubectl exec -it -n <命名空间> <my-pod>  /bin/sh

在这里插入图片描述

7. 创建、删除、更新服务

7.1. 应用 yaml 文件(创建或更新资源)
kubectl apply -f deploy.yaml -n <命名空间>
7.2. 更新服务

更新服务,其实就是删除deployment下pod,在让k8s自动拉取对应的pod,达到重启的效果。

kubectl delete pod  -n <我的命名空间> <my-pod>
7.3. 删除 deployment
kubectl delete deploy  -n <命名空间> <my-deploy>
7.4. 删除 service
kubectl delete svc  -n <命名空间> <my-service>
http://www.dtcms.com/a/353062.html

相关文章:

  • 从零开始学习JavaWeb-19
  • 解决跨运营商限速:在飞牛OS系统上启用BBR算法优化网络速度
  • 数据结构:单链表的应用(力扣算法题)第一章
  • 腾讯云人脸识别API技术深度解析:从算法原理到工程实践
  • Diagnosing bias and variance|诊断偏差和方差
  • 文件系统中的核心数据结构
  • 链表-25.k个一组翻转链表-力扣(LeetCode)
  • 镜中万象:论观察即存在的递归拓扑与生命的意识本质
  • FPGA的工作原理
  • AI赋能CRM:纷享销客访销大脑重构快消品销售策略
  • d435i相机读取镜头内参和相对之间的外参
  • 三方相机问题分析八:【返帧异常导致性能卡顿】Snapchat后置使用特效预览出现卡顿
  • Jmeter5.3性能测试:文件下载脚本编写后,导出文件的接收
  • 第五章:Go运行时、内存管理与性能优化之栈与堆内存分配 (逃逸分析)
  • 在语言模型监督式微调(SFT)中的 负对数似然(Negative Log-Likelihood, NLL)等价于最大化似然
  • 开发者如何在 Gitee 上开源一个自己的项目
  • 开源 C++ QT Widget 开发(七)线程--多线程及通讯
  • keepalived mysql 主从复制 容器实现(失败)
  • JVM之【Java对象在内存中的结构】
  • windows下 docker desktop 清理ext4.vhdx文件 并缩小ext4.vhdx文件
  • 二次校验请求源 IP 是否在 WAF 官方 IP 段内” + “校验是否携带 WAF 专属 HTTP 头
  • 基于Spark的白酒行业数据分析与可视化系统的设计与实现
  • [后端快速搭建]基于 Django+DeepSeek API 快速搭建智能问答后端
  • 域名、ip、DSN、URL
  • springbootr如何调用dolphinshceduler
  • 【记录】R|Windows 下的 R studio 安装调研准备工作、安装过程以及 ggplot2 包的引入测试
  • GIP电路
  • leetcode 974 和可被K整除的子数组
  • 【LeetCode 热题 100】287. 寻找重复数——双指针
  • 初始Linux——指令与权限