Kubernetes异常排查方式
集群信息:
1. 显示 Kubernetes 版本:kubectl version
2. 显示集群信息:kubectl cluster-info
3. 列出集群中的所有节点:kubectl get nodes
4. 查看一个具体的节点详情:kubectl describe node <node-name>
5. 列出所有命名空间:kubectl get namespaces
6. 列出所有命名空间中的所有 pod:kubectl get pods --all-namespaces
Pod 诊断:
1. 列出特定命名空间中的 pod:kubectl get pods -n <namespace>
2. 查看一个 Pod 详情:kubectl describe pod <pod-name> -n <namespace>
3. 查看 Pod 日志:kubectl logs <pod-name> -n <namespace>
4. 尾部 Pod 日志:kubectl logs -f <pod-name> -n <namespace>
5. 在 pod 中执行命令:kubectl exec -it <pod-name> -n <namespace> -- <command>
Pod 健康检查:
1. 检查 Pod 准备情况:kubectl get pods <pod-name> -n <namespace> -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}'
2. 检查 Pod 事件:kubectl get events -n <namespace> --field-selector involvedObject.name=<pod-name>
Service诊断:
1. 列出命名空间中的所有服务:kubectl get svc -n <namespace>
2. 查看一个服务详情:kubectl describe svc <service-name> -n <namespace>
Deployment诊断:
1. 列出命名空间中的所有Deployment:kubectl get deployments -n <namespace>
2. 查看一个Deployment详情:kubectl describe deployment <deployment-name> -n <namespace>
3. 查看滚动发布状态:kubectl rollout status deployment/<deployment-name> -n <namespace>
4. 查看滚动发布历史记录:kubectl rollout history deployment/<deployment-name> -n <namespace>
StatefulSet诊断:
1. 列出命名空间中的所有 StatefulSet:kubectl get statefulsets -n <namespace>
2. 查看一个 StatefulSet详情:kubectl describe statefulset <statefulset-name> -n <namespace>
ConfigMap 和Secret诊断:
1. 列出命名空间中的 ConfigMap:kubectl get configmaps -n <namespace>
2. 查看一个ConfigMap详情:kubectl describe configmap <configmap-name> -n <namespace>
3. 列出命名空间中的 Secret:kubectl get secrets -n <namespace>
4. 查看一个Secret详情:kubectl describe secret <secret-name> -n <namespace>
命名空间诊断:
1. 查看一个命名空间详情:kubectl describe namespace <namespace-name>
资源使用情况:
1. 检查 pod 的资源使用情况:kubectl top pod <pod-name> -n <namespace>
2. 检查节点资源使用情况:kubectl top nodes
网络诊断:
1. 显示命名空间中 Pod 的 IP 地址:kubectl get pods -n <namespace> -o custom-columns=POD:metadata.name,IP:status.podIP --no-headers
2. 列出命名空间中的所有网络策略:kubectl get networkpolicies -n <namespace>
3. 查看一个网络策略详情:kubectl describe networkpolicy <network-policy-name> -n <namespace>
持久卷 (PV) 和持久卷声明 (PVC) 诊断:
1. 列出PV:kubectl get pv
2. 查看一个PV详情:kubectl describe pv <pv-name>
3. 列出命名空间中的 PVC:kubectl get pvc -n <namespace>
4. 查看PVC详情:kubectl describe pvc <pvc-name> -n <namespace>
节点诊断:
1. 获取特定节点上运行的 Pod 列表:kubectl get pods --field-selector spec.nodeName=<node-name> -n <namespace>
资源配额和限制:
1. 列出命名空间中的资源配额:kubectl get resourcequotas -n <namespace>
2. 查看一个资源配额详情:kubectl describe resourcequota <resource-quota-name> -n <namespace>
自定义资源定义 (CRD) 诊断:
1. 列出命名空间中的自定义资源:kubectl get <custom-resource-name> -n <namespace>
2. 查看自定义资源详情:kubectl describe <custom-resource-name> <custom-resource-instance-name> -n <namespace>
资源伸缩和自动伸缩
1. Deployment伸缩:kubectl scale deployment <deployment-name> --replicas=<replica-count> -n <namespace>
2. 设置Deployment的自动伸缩:kubectl autoscale deployment <deployment-name> --min=<min-pods> --max=<max-pods> --cpu-percent=<cpu-percent> -n <namespace>
3. 检查水平伸缩器状态:kubectl get hpa -n <namespace>
作业和 CronJob 诊断:
1. 列出命名空间中的所有作业:kubectl get jobs -n <namespace>
2. 查看一份工作详情:kubectl describe job <job-name> -n <namespace>
3. 列出命名空间中的所有 cron 作业:kubectl get cronjobs -n <namespace>
4. 查看一个 cron 作业详情:kubectl describe cronjob <cronjob-name> -n <namespace>
容量诊断:
1. 列出按容量排序的持久卷 (PV):kubectl get pv --sort-by=.spec.capacity.storage
2. 查看PV回收策略:kubectl get pv <pv-name> -o=jsonpath='{.spec.persistentVolumeReclaimPolicy}'
3. 列出所有存储类别:kubectl get storageclasses
Ingress和服务网格诊断:
1. 列出命名空间中的所有Ingress:kubectl get ingress -n <namespace>
2. 查看一个Ingress详情:kubectl describe ingress <ingress-name> -n <namespace>
3. 列出命名空间中的所有 VirtualServices (Istio):kubectl get virtualservices -n <namespace>
4. 查看一个 VirtualService (Istio)详情:kubectl describe virtualservice <virtualservice-name> -n <namespace>
Pod 网络故障排除:
1. 运行网络诊断 Pod(例如 busybox)进行调试:kubectl run -it --rm --restart=Never --image=busybox net-debug-pod -- /bin/sh
2. 测试从 Pod 到特定端点的连接:kubectl exec -it <pod-name> -n <namespace> -- curl <endpoint-url>
3. 跟踪从一个 Pod 到另一个 Pod 的网络路径:kubectl exec -it <source-pod-name> -n <namespace> -- traceroute <destination-pod-ip>
4. 检查 Pod 的 DNS 解析:kubectl exec -it <pod-name> -n <namespace> -- nslookup <domain-name>
相关文章:
Kubernetes异常排查方式
集群信息: 1. 显示 Kubernetes 版本:kubectl version 2. 显示集群信息:kubectl cluster-info 3. 列出集群中的所有节点:kubectl get nodes 4. 查看一个具体的节点详情:kubectl describe node <node-name> 5. 列…...
【Linux】:信号的产生
信号 一.前台进程和后台进程1.前台进程2。后台进程3.总结 二.自定义信号动作接口三.信号的产生1.键盘组合键2.kill信号进程pid3.系统调用1.kill函数2.raise函数3.abort函数 四.异常五.软件条件六.通过终端按键产生信号 一.前台进程和后台进程 1.前台进程 一个简单的代码演示 …...
document load 和 document ready 的区别
"document load" 和 "document ready" 都是 JavaScript 中用于处理文档加载事件的术语,但是它们之间有一些重要的区别。 document load 在传统的 JavaScript 中,document.load 事件是当整个 HTML 文档完全加载并出现在浏览器中时触…...
flutter与原生Android通信方式之MethodChannel
闲来无事,flutter好久没看了,上次折腾flutter与Android通信没折腾完,有些事情耽搁了,这次继续 演示效果: flutter与Android原生通信 flutter端 import package:flutter/cupertino.dart; import package:flutter/mater…...
[PyTorch][chapter 66][强化学习-值函数近似]
前言 现实强化学习任务面临的状态空间往往是连续的,无穷多个。 这里主要针对这种连续的状态空间处理。后面DQN 也是这种处理思路。 目录: 1: 原理 2: 梯度更新 3: target 和 预测值 4 流程 一 原理 强化学习最重要的是得到 …...
hdlbits系列verilog解答(Exams/m2014 q4e)-46
文章目录 一、问题描述二、verilog源码三、仿真结果 一、问题描述 实现以下电路: 二、verilog源码 module top_module (input in1,input in2,output out);assign out ~(in1 | in2);endmodule三、仿真结果 转载请注明出处!...
小程序如何实现下拉刷新?
一、全局下拉刷新 在app.json的window节点中,将enablePullDownRefresh设置为true; onPullDownRefresh: function () {console.log(下拉刷新);// 在这里编写数据更新的逻辑wx.stopPullDownRefresh(); // 数据更新完成后,调用该方法停止刷新}二…...
二进制数据转换成十六进制表示 binascii.hexlify()
【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 二进制数据转换成十六进制表示 binascii.hexlify() 选择题 binascii.hexlify()参数的数据类型可以是? import binascii number 11 byte_data number.to_bytes() hex_data bin…...
苍穹外卖--店铺营业状态设置
需求分析和设计 1.1.1 产品原型 进到苍穹外卖后台,显示餐厅的营业状态,营业状态分为营业中和打烊中,若当前餐厅处于营业状态,自动接收任何订单,客户可在小程序进行下单操作;若当前餐厅处于打烊状态&#…...
2023金盾杯线上赛-AGRT战队-WP
目录 WEB ApeCoin get_source ezupload easyphp MISC 来都来了 芙宁娜 Honor Crypto 我看看谁还不会RSA hakiehs babyrsa PWN sign-format RE Re1 WEB ApeCoin 扫描发现有源码泄露,访问www.tar.gz得到源码。 在源码中发现了冰蝎马。 Md5解码&am…...
Python面向对象编程——类方法、实例方法和静态方法总结
在Python面向对象编程中,类方法(class methods)、实例方法(instance methods)和静态方法(static methods)是不同类型的方法,它们有一些联系,但也存在一些明显的区别。 类…...
HarmonyOS开发(五):常用基础组件
1、组件介绍 组件(Component),是界面搭建及显示的最小单元。 组件根据功能可以分为五大类:基础组件、容器组件、媒体组件、绘制组件、画布组件 2、基础组件 基础组件是视图层的基本组成单元,它包含:Text、Image、T…...
Hive中常出现的错误(不定时更新)
1.加载数据失败 hive> load data local inpath /home/user/hive.txt into table studentl> ; FAILED: SemanticException [Error 10001]: Line 1:56 Table not found studentl hive> load data local inpath /home/user/hive.txt into table student; Loading data to…...
c++ 重写 多态
1 重写(继承后(拼接基类后)) 1.1 非虚函数 同名成员函数 (各自有一个xFunction() 内存 ) #include <iostream> #include <String> class BaseClass { public:void xFunction() {std::cout << "BaseClass::xFunction()\n"; } };class Subclass1 …...
Git如何修改提交(commit)用户名称(user.name)和邮箱(user.email)
Git用户名 Git查看用户名 git config user.name修改Git提交用户名 修改全局Git用户名 git config --global user.name "xx" 修改当前服务/项目Git用户名 git config user.name "xx"如果出现以下错误,解决方案如下: 错误案例&am…...
知行之桥EDI系统HTTP签名验证
本文简要概述如何在知行之桥EDI系统中使用 HTTP 签名身份验证,并将使用 CyberSource 作为该集成的示例。 API 概述 首字母缩略词 API 代表“应用程序编程接口”。这听起来可能很复杂,但真正归结为 API 是一种允许两个不同实体相互通信的软件。自开发以…...
C++ DAY08 异常
概念 异常事件(如:除 0 溢出,数组下标越界,所要读取的文件不存在 , 空指针,内存不足 等等) 在 C 语言对错误的处理是两种方法: 一是使用整型的返回值标识错误; 二是使用 errn…...
vscode导入STM32CubeIDE工程文件夹未定义警告清除方法
0 前言 在我们使用vscode去编辑STM32CubeIDE的工程文件时,经常会出现一些类型未定义、头文件路径无效的问题,无法正常使用且非常影响观感。本文介绍如何设置vscode导入的STM32CubeIDE配置文件,解决这一问题。 1 vscode导入STM32CubeIDE工程…...
SparkSQL之Optimized LogicalPlan生成过程
经过Analyzer的处理,Unresolved LogicalPlan已经解析成为Analyzed LogicalPlan。Analyzed LogicalPlan中自底向上节点分别对应Relation、Subquery、Filter和Project算子。 Analyzed LogicalPlan基本上是根据Unresolved LogicalPlan一对一转换过来的,…...
Java中有几种基本数据类型以及转换方式【Java面经(1)】
问:Java中有几种基本数据类型呢?以及它们之间的转换方式。详细介绍下 总共有8种基本数据类型 byte 、short 、long 、float 、double 、boolean 、char 详细类型以及字节数: 基本数据类型的转换方式 自动类型转换:小–>大 byt…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
3-11单元格区域边界定位(End属性)学习笔记
返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
