EvenChan's Ops.

EvenChan's Ops.

it's better to burn out than to fade away

RoCE教程: 深入理解和配置RDMA over Converged Ethernet(RoCE)
引言随着数据中心变得更加复杂,传统的以太网和TCP/IP协议开始显得力不从心。在这种背景下,RDMA over Converged Ethernet (RoCE)应运而生。RoCE让数据中心的服务器可以在没有CPU和操作系统参与的情况下,直接访问对方的内存。根据一份来自Mellanox的报告,RoCE的网络流量在今后的发展中可能占据主导地位。 在本教程中,我们将探讨RoCE的基本概念,执行情况以及如何配置。 关于RoCERoCE,全称RDMA over Converged Ethernet,即通过以太网进行远程直接内存访问。RDMA 技术可以实现在不涉及CPU、操作系统、以及...
记NVIDIA显卡A100在K8S POD中“Failed to initialize NVML:Unknown Error“问题解决
问题描述因项目原因需要在k8s上跑GPU相关的代码,优选使用NVIDIA A100显卡,但在根据官方文档简单并部署 GitHub - NVIDIA/k8s-device-plugin:适用于 Kubernetes 的 NVIDIA 设备插件后,出现了pod中GPU运行一段时间后丢失的问题,进入容器后发现nvidia-smi命令报错”Failed to initialize NVML: Unknown Error”。尝试删除并且重建容器后,刚开始nvidia-smi命令正常,但是在大约10秒过后,重复出现以上异常。 问题分析对于出现的问题,github中有多人提到,如: nvid...
如何解决系统报错:nf_conntrack:table full, dropping packets
问题在系统日志中(/var/log/messages),有时会看到大面积的下面的报错: 1nf_conntrack: table full, dropping packet 这说明系统接到了大量的连接请求,但是系统的连接跟踪表已经满了,无法再记录新的连接了。这时候,系统会丢弃新的连接请求。 在 CentOS 下,默认的连接跟踪表大小是 65536,可以通过下面的命令查看: 1cat /proc/sys/net/netfilter/nf_conntrack_max 如果流量比较小,这个值是没问题的,但如果流量巨大,这个值可能就有点太小了。 解决方法显然,...
如何快速修复重装系统后的 Kubernetes Master 节点
本篇主要记录的是新系统 Ubuntu 20.04 初始化的过程,完成初始化之后采用优秀的集群安装工具 Kubekey 的 add nodes 命令,无需修改配置文件,一键就将节点重新加入了集群。 1. 恢复 Etcd三个节点的 Etcd 集群,只有一个节点运行是无法工作的。因此,务必首先修复 Etcd 集群。这里比较幸运的是,系统重装之后 Ip 没有发生变化,否则需要重新生成证书。 在重装节点上,拷贝其他节点的 Etcd 二进制文件、配置文件、启动文件 1234scp etcd-node1:/usr/local/bin/etcd /usr/local/bin/scp etcd-nod...
k8s-ConfigMap 实现应用和配置分离
ConfigMap 背景 应用程序的运行可能会依赖一些配置,而这些配置又是可能会随着需求产生变化的,如果我们的应用程序架构不是应用和配置分离的,那么就会存在当我们需要去修改某些配置项的属性时需要重新构建镜像文件的窘境。 现在,ConfigMap组件可以很好的帮助我们实现应用和配置分离,避免因为修改配置项而重新构建镜像。 ConfigMap 用于保存配置数据的键值对,可以用来保存单个属性,也可以用来保存配置文件。ConfigMap 跟 Secret 很类似,但它可以更方便地处理不包含敏感信息的字符串。 ConfigMap 创建方式ConfigMap 可以通过多种方式创建,包括: ...
正是孤独让你变得出众
抛开兴趣而言,对于系统性的学习,没有任何一个细节是可以忽略的;我们在面对生活、工作等各种压力以及知识的枯燥性问题,难以全身心的投入学习环境;这时,如何做到在孤独中自处,这才是我们需要去适当调节的,当做到了如何在孤独中自处,那么学习必然事半功倍。孤独不是让你脱离社会群体,也不是不去社交,而是让你在孤独之中如何学习成长和感悟; 本文所阐述的观点仅仅是社交与孤独,对于自律、自制以及学习方法,以后我会分享给大家共同进步。 谨以多年前看到的这篇文章贡献给大家,共勉。   相比于西方人,中国人更加害怕寂寞,不懂怎么享受一个人的时光;而且过于在乎别人的看法,总是想从别的眼中寻找自己的存在感。为...
Kubernetes的调度均衡器Descheduler
马上春节了,在这祝大家春节快乐。前阵子在使用K8S集群的时候,经常遇到Pod调度不均衡的问题,排查了许久也没找到所以然,最后人为的归结到Scheduler调度不够智能上(机智如我)。这不,为了使集群能够更均衡,充分利用节点,特地研究了一下Descheduler,下面内容主要来自官方文档,喜欢看官方文档的可以划到结尾处,喜欢看中文的,可以收藏慢慢看,对长期从事K8S集群管理的YAML工程师来说,还是有点用。 在Kubernetes中,kube-scheduler负责将Pod调度到合适的Node上,但是Kubernetes是一个非常动态的,高度弹性的环境,有时候会造成某一个或多个节点...
K8S calico组件故障排查
记录k8s集群calico组件故障解决过程,pod报错信息: Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with 172.18.0.1 问题k8s集群重启后,发现在worker节点上的calico组件运行状态如下(图是问题解决后,翻之前的输出截的,没有加-o wide选项): 解决在一开始,我曾尝试着将名为calico-node-fg6bn的pod删除后,让其自行重启,进行解决问题,但是发现这样不行。 然后开始通过kubectl logs -f...
K8S备份、恢复、迁移神器 Velero
前言Kubernetes 集群备份一直是我们的痛点。虽然可以通过备份ETCD来实现K8S集群备份,但是这种备份很难恢复单个 Namespace。 今天推荐 Velero 工具,它提供以下功能: 灾备场景:提供备份恢复k8s集群的能力 迁移场景:提供拷贝集群资源到其他集群的能力(复制同步开发,测试,生产环境的集群配置,简化环境配置) Velero 项目地址:https://github.com/vmware-tanzu/velero Velero 阿里云插件地址:https://github.com/AliyunContainerService/velero-plugin Velero...
k8s之纵向扩缩容Vpa
vpa纵向容器自动缩放器(VPA)使用户无需设置最新的资源限制和对容器中容器的要求。配置后,它将根据使用情况自动设置请求,从而允许在节点上进行适当的调度,以便为每个Pod提供适当的资源量。它还将保持限制和初始容器配置中指定的请求之间的比率。 它既可以根据资源的使用情况来缩减对资源过度使用的Pod,也可以对资源需求不足的向上扩展Pod。 Kubernetes VPA 包含以下组件: Recommender:用于根据监控指标结合内置机制给出资源建议值 Updater:用于实时更新 pod resource requests History Storage:用于采集和存储监控数据 Admis...
avatar
EvenChan
Tomorrow Is Another Day