0%

kube-apiserver 莫名其妙报 KubeAPIErrorsHigh 告警,CPU/Memory/Disk 都是好的。结果一路查下去似乎进了不知道有多深的兔子洞,坑深到这个问题从 2018 年到至今都没有完成彻底的修复。爬了很多楼,过程中学到了一些东西,这个文章全当做一个记录,假如有其他倒霉蛋看到这边也碰到了这个问题,希望这个文章能帮助到你。

阅读全文 »

这是一个八九年前的真实故事,请原谅我的旧事重提。 2009年的初见之后的第3年,我选择了AFK。

之所以今天突然旧事重提,是因为看到有人对《阿甘正传》中阿甘突然选择了在某一天停止了持续几年的长跑的一则解读;又大抵是在因为距离上次删掉所有矫情文章封笔已经有13年了,这段时间内喷薄欲出的无病呻吟已经积攒到了一个程度吧。

阅读全文 »

Go是一门语法以Less is More为哲学的语言,以简单易学为设计目标,致力于写出比Java还千人一面的符合工程要求的语言。GC、没有泛型、简单到没有的错误处理等等,都使得我这种不会管理内存,智商跟不上泛型,只要Try就Catch不到的小学生能够每天拼接一下字符串,勉强过得了生活的样子。但是,不信任用户的同义词就是只信任自己:“不让你用是怕你搞砸,至于我?我怎么可能搞砸?”。为了方便那些Go Author,他们早就给自己开好了后门。但是这些技巧最大的作用就是茶余饭后的装逼资本了,毕竟在项目里用了很可能就被买腿了。但是话说回来,黑魔法一般作为禁招也能够帮你绝处逢生,离开你地球就停转,从而保住饭碗。

阅读全文 »

Golang是一门工程语言,语法元素很少很容易掌握。从而,只要不是太扯的人写出来的代码理应相差不大,并能够很快被人理解。泛型在现代编程语言中被广泛使用,这里不谈Go缺失泛型是否是一种糟糕的设计,纯粹前段时间在gvisor的代码中看见一种实现泛型的方式比较新奇,因此拿来记录一下。

阅读全文 »

Shodowsocks是一个小有名气的代理工具,主要致力于减小流量特征,从而达到GFW无法对其进行定向的封杀的目的。Shadowsocks有多种语言的实现,本着学习一下原理的心态,看了一下其用Go版本的实现细节。

阅读全文 »

在Golang的基础中我们知道在用append的时候,或者Slice底层数组小于需求容量的时候,Go会自动重新分配内存,随之带来的有一次值拷贝。在数据量小或函数调用不频繁的时候对性能的损失并不明显,但是如果在高频率调用或者数据量大的时候,性能损失不能忽略不计。

阅读全文 »

最近在碰到一个很奇怪的问题,Go get工具在下载golang.org/x/tools下源代码的时候总是失败,但是以前并没有这个问题。Chrome已经使用了Shadowsocks穿墙,但是直接访问这个URL后发现在显示Nothing to see here之后就跳转到了文档页面。本以为是Google Code关闭带来的影响。不过时间过去了一周,并没有改善,奇怪的是老外对此并没有哀嚎遍野。为此有必要看一下go get到底发生了啥了。

阅读全文 »

第二次开始填坑,没有压力真没有动力。老是觉得这样不行那样不行,直到To Do List的堆栈爆了还没动一点点,那还不如开始动手做。上次的进度是认识了实模式,并成功进入了32位模式下,启用了分段的内存管理,打开了保护模式,然后用指针操作了个Demo就草草结束了。

阅读全文 »

书买了半个月了,也看了前几天的量了。不过一直没动手敲代码,那便不算开始罢。书看得出日文版截稿比较早,内容环境还是基于WinXP(貌似写的WinXP都是时新货的样子XD)光盘附带的工具看得出都是Linux下的一套,Qemu,make,gcc,Makefile。之前架设这个博客的时候就受过惨痛教育(Hexo基于Node.js,上传工具用Git。在windows下用起来,别扭不说,突出一个蛋疼。)于是准备在Debian下部署环境。

阅读全文 »