你的 Kubernetes 知识在“冰山”的第几层?—— 一份给 Gopher 的 K8s 进阶“航海图”

本文永久链接 – https://tonybai.com/2025/11/17/explain-kubernetes 大家好,我是Tony Bai。 近日,一张关于 Kubernetes 知识体系的“冰山图”在开发者社区广为流传。它以一种戏谑而又无比真实的方式,描绘了从入门到精通 K8s 所需跨越的深邃鸿沟。 ...

November 17, 2025 · 5 min · Tony Bai

7 个常见的 Kubernetes 陷阱(以及我是如何学会避免它们的)

本文永久链接 – https://tonybai.com/2025/10/22/seven-kubernetes-pitfalls 大家好,我是Tony Bai。 本文翻译自Kubernetes官方博客《7 Common Kubernetes Pitfalls (and How I Learned to Avoid Them)》一文。 这篇文章的作者Abdelkoddous Lhajouji 以第一人称视角,系统性地梳理了从资源管理、健康检查到安全配置等多个方面,新手乃至资深工程师都极易忽视的关键点。文中的每个“陷阱”都源于真实的生产经验,其规避建议更是极具实践指导意义。无论你是 K8s 初学者还是经验丰富的 SRE,相信都能从中获得启发,审视并改善自己的日常实践。 ...

October 22, 2025 · 9 min · Tony Bai

Kubernetes Deployment故障排除图解指南

下面是一个示意图,可帮助你调试Kubernetes Deployment(你可以在此处下载它的PDF版本)。 当你希望在Kubernetes中部署应用程序时,你通常会定义三个组件: 一个Deployment – 这是一份用于创建你的应用程序的Pod副本的”食谱”; 一个Service – 一个内部负载均衡器,用于将流量路由到内部的Pod上; 一个Ingress – 描述如何流量应该如何从集群外部流入到集群内部的你的服务上。 下面让我们用示意图快速总结一下要点。 ...

December 8, 2019 · 13 min · Tony Bai

Kubernetes网络插件(CNI)基准测试的最新结果

本文翻译自Alexis Ducastel的文章《Benchmark results of Kubernetes network plugins (CNI) over 10Gbit/s network (Updated: April 2019)》。 本文是我之前的基准测试的最新更新,这次测试在最新版Kubernetes 1.14上运行,其中CNI版本在2019年4月更新。 ...

April 18, 2019 · 10 min · Tony Bai

官宣:慕课网课程“Kubernetes实战:高可用集群搭建、配置、运维与应用”上线了

距离我的第一门网课《Kubernetes基础:开启云原生之门》上线已经过去5个多月了,我的实战课《Kubernetes实战:高可用集群搭建、配置、运维与应用》终于在9月27日正式上线了。 一. 课程介绍 《Kubernetes实战:高可用集群搭建、配置、运维与应用》的课程内容与最初课程设计时规划的内容大纲没有太多出入,基本就是根据我最初的想法拟定的内容,这也基本是我这两年学习k8s、积累的k8s实践的路线。整个课程基于kubernetes 1.10.2版本(docker 17.03.2ce)。课程内容大致分为七个部分(与课程主页的课程目录结构稍有差异,但课程内容是一致的): ...

October 17, 2018 · 6 min · Tony Bai

HTTPS服务的Kubernetes ingress配置实践

在公有云被广泛接纳的今天,数据传输安全问题日益凸显,因为在公有云提供商的经典网络(二层互通)中,即便是内部网络通信也要考虑网络嗅探等hack手段,这也是公有云主推所谓“专用网络(二层隔离)”的原因之一。从应用的角度,我们应该尽量通过技术手段保证数据通信的安全性。而目前最常用的方式就是基于SSL/TLS的安全通信方式了,在七层,对应的就是https了。 ...

June 25, 2018 · 11 min · Tony Bai

实践kubernetes ingress controller的四个例子

我之前并未使用过标准的Kubernetes ingress,而是自己实现了一个基于nginx的、类似ingress controller的服务入口管理程序nginx-kit。这个程序会部署到Kubernetes集群中,以Pod形式运行。该Pod由两个Container组成,一个Container放置了一个由脚本启动的nginx;另外一个Container中放置的是一个conf generator程序,它监听Kubernetes集群service对象的变更,并根据变更情况动态生成nginx的配置文件。第一个Container中的脚本会监听配置文件目录的变化,并reload配置文件信息实现Kubernetes内部服务对外暴露入口的动态管理。关于这个程序的详情可以参考我之前写的两篇文章:《Kubernetes集群中的Nginx配置热更新方案》和《为Kubernetes集群中服务部署Nginx入口服务》。 ...

June 21, 2018 · 13 min · Tony Bai

在Kubernetes 1.10.3上以Hard模式搭建EFK日志分析平台

在一年多之前,我曾写过一篇文章《使用Fluentd和ElasticSearch Stack实现Kubernetes的集群Logging》,文中讲解了如何在Kubernetes上利用EFK(elastic, fluentd, kibana)搭建一套可用的集中日志分析平台。当时的k8s使用的是1.3.7版本,创建EFK使用的是kubernetes项目中cluster/addons/fluentd-elasticsearch下面的全套yaml文件,yaml中Elastic Search的volume用的还是emptyDir,并未真正持久化。 ...

June 13, 2018 · 11 min · Tony Bai

TB一周萃选[第9期]

本文是首发于个人微信公众号的文章**“TB一周萃选[第9期]”**的归档。 亲情犹如一江剪不断的春水,流动的是游子心中永远的思念;亲情犹如一丘数不尽的细沙,沉淀的是长年堆积的牵挂;亲情犹如夜空中那颗北斗,指引的是那迷路的羔羊回家的方向。忙碌了一年,该回家了,给心放个假,带上媳妇带上你的娃,回家看看那年迈的爸妈,出发! — 改编自网络 ...

February 11, 2018 · 9 min · Tony Bai

使用istio治理微服务入门

近两年微服务架构流行,主流互联网厂商内部都已经微服务化,初创企业虽然技术积淀不行,但也通过各种开源工具拥抱微服务。再加上容器技术赋能,Kubernetes又添了一把火,微服务架构已然成为当前软件架构设计的首选。 但微服务化易弄,服务治理难搞! 一、微服务的“痛点” 微服务化没有统一标准,多数是进行业务领域垂直切分,业务按一定的粒度划分职责,并形成清晰、职责单一的服务接口,这样每一块规划为一个微服务。微服务之间的通信方案相对成熟,开源领域选择较多的有RPC或RESTful API方案,比如:gRPC、apache thrift等。这些方案多偏重于数据如何打包、传输与解包,对服务治理的内容涉及甚少。 ...

January 3, 2018 · 15 min · Tony Bai