今天是2024年12月31号,2024年的最后一天。趁小孩熟睡的间隙,写下此段落,回顾一下过去的365天。 嗯,我知道2024年是闰年,不过排除掉今天的话,说过去的365天也准确。 总的来讲,2024年是平凡的一年,没挣到什么钱,身体还算健康(虽然又又又胖了不少),看了一点点书,没 什么旅游(又宅了一年)。相比于周边朋友,我再平凡不过,但是,这一年,我也更加认识到平凡...| Hi-Been Space
10月26号星期六早晨,我从武汉天河机场辗转三趟地铁前往武汉火车站,我想说的是,CZ660这趟航班时间 点卡的是真的好,说是早上六点到,其实总能提早一些时间,以至于当拿好行李之后,几乎能无缝连接上乘坐 地铁的时间。到达武汉火车站的时间几乎是一个半小时,再加上早上九点二十三刚好有一趟能直接到吉水西的 高铁,这样的行程近乎完美,一路时间都很充裕,也...| Hi-Been Space
There are two types of troubleshootings: Why something doesn’t work? Why something worked? This post is about the second category. The Problem We have been using kaniko as image builder since a while back, including building a customzied kaniko image with itself like below: FROM alpine:latest COPY --from=gcr.io/kaniko-project/executor:v1.23.2 /kaniko /kaniko Despite of its official documentation clearly suggesting that this is not supported: Running kaniko in any Docker image other than the...| Hi-Been Space
As you may know, a controller in kubernetes is a loop which picks up a key from workqueue and then reconciles the key into some desired state. While most of such control loops are reactive (based on external events), some of them require periodic processing (also known as resync). In general, periodic processing can easily fill up the workqueue when the number of keys is pretty huge. I have been involved in such scenarios more than once.| blog.zhouhaibing.com
I have been using hyphen and dash exchangeably for a long time, and I thought they are the same. Until I realized there are: en-dash (–) em-dash (—) One is longer than the other, and both of them are longer than hyphen (-) (probably depends on which font you are using). I went through all this because there was an issue I investigated recently in kubernetes. The story Note: To simplify the context, the example below is faked with only the details that matter.| blog.zhouhaibing.com
This is an investigation story where all pods on one host lost connectivity to external service. It looks like something below: $ nsenter --net=/proc/29080/ns/net curl docs.cilium.io -v > GET / HTTP/1.1 > Host: docs.cilium.io > User-Agent: curl/7.79.1 > Accept: */* > Here 29080 is the pid of some pod process, and it appeared that TCP connection has been established, but somehow it couldn’t receive any response. About the cluster The cluster was set up like something below:| blog.zhouhaibing.com
记得小时候看过一部动画片: <围棋少年>, 那时自己也是少年, 虽不懂棋, 却瞅着江流儿的经历也 饶有兴致. 而近期兴致又起, 想重温此动画片之时, 竟想不如也学学围棋. 毕竟也是中华文化的代 表之一, 学学亦是乐事. 于是乎, 说干就干, 从亚马逊上以将近120刀的价格入了一套工具, 包括棋盘, 棋子等等. 让我没 想到的是, 这货体积还挺大, 疫情期间, 货也不送上门, 最后还是我从leas...| blog.zhouhaibing.com
This is an attempt to document the steps that I tried to understand etcd clustering. I think by following these steps, we are better suited to understand how etcd disaster recovery looks like in practice. Prerequisites I added the following into /etc/hosts so that I can assign dns names to each of the etcd instances that I’m about to create. $ cat /etc/hosts # Static table lookup for hostnames. # See hosts(5) for details.| blog.zhouhaibing.com
It is not uncommon to see people having an alias for kubectl to save few keystrokes. It is admittedly useful, but I find it is not easy to get it right. Let’s start from the basic form: # ${HOME}/.zshrc alias k=kubectl This is what I get when I have my laptop configured by the company automation tool. If you are satisfied with it, then you probably can close this page.| blog.zhouhaibing.com
Note: The issue has been fixed in https://github.com/kubernetes/kubernetes/pull/76051. Today, I want to share a story about object deletion in kubernetes federation. This leads to a better understanding on how object deletion works in kubernetes, and I believe this may help others to understand it as well. It all starts with a support request: When I delete my namespace on federation, the same namespace in member cluster is not deleted, however, cascade deletion does happen for all other reso...| blog.zhouhaibing.com
时至今日, 坚持跑步大概已有四周, 每周三次 - 周二, 周四, 周日, 每次半小时, 我还给这几天取 了一个别名: 健身日, 其余时间段则作为学习日 - 看书, 抑或是工作. 第一次跑步是在二月十九号, 那是马丁路德金纪念日后的第一个工作日, 那一天我约了去看我的家庭 医生, 为了和医生见一次面, 也为了聊聊自己的身体状况. 和国内不一样的是, 美国看病, 必先量身 高体重以及血压, ...| blog.zhouhaibing.com