自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

樛木南雨

技术改变生活

  • 博客(12)
  • 收藏
  • 关注

原创 基于RBAC的k8s集群权限管控案例

在日常的kubernetes集群维护过程中,常常涉及多团队协作,不同的团队有不同的操作和权限需求。比如,运维团队需要有node的所有操作权限,以便对集群进行节点的扩缩容等日常维护工作,但资产运营团队通常只需要node的查看权限,以便完成资产信息的统计分析即可。当然,在实际的业务场景中,一个团队,到底需要操作什么,允许操作什么,往往比上述例子复杂的多。为了应对实际业务场景中的复杂权限管控诉求,kubernetes提供了基于RBAC的权限管控机制。

2023-12-18 10:52:35 1000

原创 k8s集群CPU静态调度实施

背景默认情况下,如果一台服务器上部署了多个服务,那么这些服务之间是共享GPU资源的,当服务存在资源竞争时,性能敏感的服务可能会发生剧烈的性能抖动。通过k8s部署的服务,默认情况下,kubelet 使用 CFS 配额 来执行 pod 的 CPU 约束。当节点上运行了很多 CPU 密集的 pod 时,工作负载可能会迁移到不同的 CPU 核,这取决于调度时 pod 是否被扼制,以及哪些 CPU 核是可用的。许多工作负载对这种迁移不敏感,因此无需任何干预即可正常工作。然而对于性能敏感的服务,性能明显地受到 C

2021-11-16 20:48:22 1364 1

原创 NUMA机制浅析

什么是NUMA?NUMA(Non-Uniform Memory Access)即非统一内存访问。为了更好的解释什么是NUMA,我们有必要先聊聊NUMA诞生的背景。NUMA诞生的背景在早期,所有CPU对内存的访问都要通过总线来访问,此时所有CPU访问内存都是“一致的”,如下图所示:+++++++++++++++ +++++++++++++++ +++++++++++++++| CPU | | CPU | | CPU

2021-11-16 20:08:18 1878

原创 k8s master证书过期修复

版本信息该方案在kubernetes 1.12.5下验证有效,其他版本可能会略有不同,但基本原理相似。故障现象使用kubeadm部署的集群,默认根证书有效期是10年,其余证书的有效期为1年。当证书到期之后,k8s各核心组件之间的交互和协作会因为证书验证失效到时失败,从而导致k8s集群不可用。故障排查和验证故障排查查看k8s各组件的日志会发现ssl认证错误信息。故障验证通过openssl x509 -in [证书名称] -noout -text命令能够查看证书的相关信息,从而确定是否证书到期:

2021-09-14 18:07:05 635

原创 Go语言defer简介及常见错误处理

Go语言defer简介derfer是Go语言中的关键字,用于定义延迟执行语句,defer语句会将其后面跟随的语句进行延迟处理,在defer归属的函数即将返回时,执行其后的语句。通常用于释放某些已经分配的资源,关闭文件流等。例如:package mainimport( "os" "fmt")func main() { f, _ := os.Open("./main.go") defer f.Close() // TODO: 读取文件或其他处理}多

2021-09-06 21:28:59 1037

原创 CPU和IO空闲但负载较高问题排查解决

CPU和IO空闲但负载较高问题排查这里写自定义目录标题背景问题分析系统平均负载的计算为什么会存在大量`D`状态的进程处理`D`状态的进程背景一台线上服务器,监控告警显示服务器负载较高,达到了100多。登录机器使用top命令查看,CPU和IO使用率均较低。同时,发现系统中存在较多ps和pidof的进程,且他们的进程状态均为D,使用kill命令无法杀死这些进程。问题分析初步怀疑是这些进程状态为D的大量ps和pidof的进程导致的负载较高。通过man ps查询进程的状态描述信息:D uninte

2021-08-18 12:54:00 1839

原创 kubernetes容器生成core文件

基础知识core dump 在绝大多数GNU/Linux系统中,当应用程序发生没有捕获的异常信号ARORT/SEGV时,系统会终止当前进程,并生成core dump文件,它一般在程序执行的主目录下,通常命名为core或者core.PID。通常情况下core dump包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。在实际的开发场景中,这些信息能够对开发人员调试定位问题提供非常大...

2018-09-10 20:56:42 10927

原创 MySQL查询统计条目大于某个值的记录

场景比如,有一个服务器记录的表(server_mst),表中记录了服务器的用途和使用人,如下所示: id server_ip use user 0 172.16.0.2 test jam 1 172.16.0.2 dev jak 2 172.16.0.3 online boss 3 172.16....

2018-09-06 12:48:51 16535

原创 在docker容器中生成core dump文件

基础概念core dump 在绝大多数GNU/Linux系统中,当应用程序发生没有捕获的异常信号ARORT/SEGV时,系统会终止当前进程,并生成core dump文件,它一般在程序执行的主目录下,通常命名为core或者core.PID。通常情况下core dump包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。在实际的开发场景中,这些信息能够对开发人员调试定位问题提供非常大...

2018-09-05 17:26:05 19225

原创 Windows下使用C/C++修改文件时间

背景在某些特定场景下,会有修改文件创建时间、修改时间的需求。具体为什么要修改文件时间就不去纠结了,感兴趣的可以去做个问卷调查,也可以自行脑补,反正经常有小伙伴问怎么去修改文件时间。最简单的解决方案文件的时间作为文件的属性,当然是由文件的编辑工具生成或修改的。那么最简单的方式就是把你的系统时间设置为想要改的时间点,比如设置为2000年1月1日的某个时间点,然后打开文件编辑工具,随便修...

2018-09-04 21:08:52 5400

原创 golang请求非安全http

通常情况下,我们可以简单使用Golang的`net/http`包进行http或https的请求。例如如下代码所示:package mainimport ( "net/http" "time" "strings" "io/ioutil" "errors" "fmt")func http_

2018-03-13 21:27:46 775

原创 windows快捷方式图标小箭头管理

很多朋友总是说windows机器的快捷方式图标上的小箭头很讨厌,但是又不知道如何去除和恢复,尤其是win7和win8 的修改方式还不一样,真是纠结。下面我就来分享一下我的方式,让你不那么纠结。

2015-11-03 19:53:39 407

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除