<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>K8s on Tony Bai</title><link>https://tonybai.com/tags/k8s/</link><description>Recent content in K8s on Tony Bai</description><generator>Hugo</generator><language>zh-cn</language><copyright>2004-2026 Tony Bai. 版权所有.</copyright><lastBuildDate>Mon, 22 Jun 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://tonybai.com/tags/k8s/index.xml" rel="self" type="application/rss+xml"/><item><title>屠榜 CNCF！为什么在云原生时代，Go 语言能把 Java、C++ 和 Rust 堵在门外？</title><link>https://tonybai.com/2026/06/22/why-is-go-dominating-in-cncf-landscape/</link><pubDate>Mon, 22 Jun 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/06/22/why-is-go-dominating-in-cncf-landscape/</guid><description>本文永久链接 – https://tonybai.com/2026/06/22/why-is-go-dominating-in-cncf-landscape 大家好，我是Tony Bai。 如果你去翻阅 CNCF（云原生计算基金会）的全景图（Landscape），你会发现一个极其震撼、甚至近乎垄断的现象： 从奠定容器时代基础的 **Docker**，到统治现代云编排的 **Kubernetes**...</description></item><item><title>悄悄用 Go 重写 AI 基础设施：NVIDIA 的 GPU 云平台为何选择 Go？</title><link>https://tonybai.com/2026/05/26/why-nvidia-chose-go-to-rewrite-their-ai-infrastructure/</link><pubDate>Tue, 26 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/26/why-nvidia-chose-go-to-rewrite-their-ai-infrastructure/</guid><description>本文永久链接 – https://tonybai.com/2026/05/26/why-nvidia-chose-go-to-rewrite-their-ai-infrastructure &amp;gt; 当大家都在谈论 CUDA、Python 和 AI 框架时，NVIDIA 的工程团队正在悄悄用 Go 构建支撑整个 AI 云平台的底层基础设施。从 GPU 函数平台 NVCF，到 AI 集群运行时 AICR，...</description></item><item><title>Google 开源 AX 与 Agent Substrate：构建以 Agent 为核心的云原生计算底座</title><link>https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation/</guid><description>本文永久链接 – https://tonybai.com/2026/05/23/google-open-sources-ax-and-agent-substrate-agent-centric-cloud-native-foundation 大家好，我是Tony Bai。 随着大语言模型（LLM）与应用场景的深度融合，AI 正在从单纯的“聊天对话框”快速演进为具备长期运行、自主工具调用和复杂任务编...</description></item><item><title>一天重写 JSONata，我用 400 美元干掉了公司 50 万美元的 K8s 集群</title><link>https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai/</link><pubDate>Wed, 01 Apr 2026 00:00:00 +0800</pubDate><guid>https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai/</guid><description>本文永久链接 – https://tonybai.com/2026/04/01/rewrote-jsonata-in-golang-with-ai 大家好，我是Tony Bai。 过去的几年，我们见证了 AI 编程工具从“玩具”到“神器”的进化。无数开发者都在分享自己效率翻倍的喜悦。 你有没有想过，用 AI 来完成一次“外科手术式”的精准重构，一天之内，就能帮你把公司每年烧掉的 50 万美元（约 ...</description></item><item><title>13万节点！Google 如何打破 Kubernetes 的物理极限，构建全球最大集群</title><link>https://tonybai.com/2025/11/26/how-google-built-a-130000-node-k8s-cluster/</link><pubDate>Wed, 26 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/26/how-google-built-a-130000-node-k8s-cluster/</guid><description>本文永久链接 – https://tonybai.com/2025/11/26/how-google-built-a-130000-node-k8s-cluster 大家好，我是Tony Bai。 Kubernetes 的官方支持上限通常被认为是 5,000 到 15,000 节点。然而，在 AI 时代的算力军备竞赛中，这个数字显得有些“捉襟见肘”。 近日，Google Cloud 发布了一份重磅...</description></item><item><title>霸榜 GitHub 一周！Google 开源 ADK for Go，彻底终结 AI“炼丹”时代？</title><link>https://tonybai.com/2025/11/24/google-adk-go-in-action/</link><pubDate>Mon, 24 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/24/google-adk-go-in-action/</guid><description>本文永久链接 – https://tonybai.com/2025/11/24/google-adk-go-in-action 大家好，我是Tony Bai。 上周，我花了一个下午，仅仅是为了让一个Python写的Agent能稳定地调用我Go服务里的一个简单函数。在那一刻，看着屏幕上纠缠的gRPC、Python虚拟环境和混乱的日志，我脑海里只有一个念头：这不对劲，这绝对不是软件工程该有的样子！ 显...</description></item><item><title>你的 Kubernetes 知识在“冰山”的第几层？—— 一份给 Gopher 的 K8s 进阶“航海图”</title><link>https://tonybai.com/2025/11/17/explain-kubernetes/</link><pubDate>Mon, 17 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/17/explain-kubernetes/</guid><description>本文永久链接 – https://tonybai.com/2025/11/17/explain-kubernetes 大家好，我是Tony Bai。 近日，一张关于 Kubernetes 知识体系的“冰山图”在开发者社区广为流传。它以一种戏谑而又无比真实的方式，描绘了从入门到精通 K8s 所需跨越的深邃鸿沟。 对于我们 Gopher 而言，这张图有着非凡的意义。因为 Kubernetes 这座宏伟...</description></item><item><title>Go 的“简单”幻象：易于上手，难于精通</title><link>https://tonybai.com/2025/11/07/go-simple-illusion-easy-to-learn-hard-to-master/</link><pubDate>Fri, 07 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/07/go-simple-illusion-easy-to-learn-hard-to-master/</guid><description>本文永久链接 – https://tonybai.com/2025/11/07/go-simple-illusion-easy-to-learn-hard-to-master 大家好，我是Tony Bai。 “Go 语言看起来如此简单，我的这种假设是错的吗？” 近日，一位刚接触 Go 几个月的新手在reddit golang论坛发出了这样一个真诚的提问。他感觉 Go “超级简单”，并好奇自己是否因...</description></item><item><title>微服务灾难清单：从技术深坑到组织泥潭的 10 个惨痛教训</title><link>https://tonybai.com/2025/11/04/microservice-disasters/</link><pubDate>Tue, 04 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/04/microservice-disasters/</guid><description>本文永久链接 – https://tonybai.com/2025/11/04/microservice-disasters 大家好，我是Tony Bai。 2014 年，当 Martin Fowler 发表那篇定义性的文章后，“微服务”就从一个架构理念，迅速演变为席卷全球软件行业的技术浪潮。它承诺将庞大、笨重的单体应用，分解为小而美的、可独立开发和部署的服务，从而极大地提升团队的敏捷性和交付速度...</description></item><item><title>“6 个月，47 个微服务”：一场由“简历驱动”引发的架构灾难</title><link>https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster/</link><pubDate>Sun, 02 Nov 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster/</guid><description>本文永久链接 – https://tonybai.com/2025/11/02/6-months-47-microservices-architecture-disaster 大家好，我是Tony Bai。 &amp;gt; “我们有一个运行了 8 年的 Python 单体应用，20 万行代码，工作得很好，很少崩溃，8 分钟就能部署。现在，新来的首席架构师，入职仅 3 个月，就要我们在 6 个月内，把它拆分成 ...</description></item><item><title>从《凡人修仙传》看程序员境界：道友，你修炼到哪一层了？</title><link>https://tonybai.com/2025/09/08/fanren-xiuxian-programmer-levels/</link><pubDate>Mon, 08 Sep 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/09/08/fanren-xiuxian-programmer-levels/</guid><description>本文永久链接 – https://tonybai.com/2025/09/08/fanren-xiuxian-programmer-levels 大家好，我是Tony Bai。 最近《凡人修仙传》的电视剧大火，想必各位道友都有耳闻。鄙人也没忍住，不仅刷完了杨洋主演的网剧，还趁着这股热乎劲儿，一口气在微信读书连读再听地补完了小说的人界篇。 当看到韩立资质平平，相貌普通，却凭着“小绿瓶”、远超常人的心...</description></item><item><title>Gopher直通大厂，就从这第一课开始！</title><link>https://tonybai.com/2025/09/03/gopher-first-lesson-to-big-factory/</link><pubDate>Wed, 03 Sep 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/09/03/gopher-first-lesson-to-big-factory/</guid><description>本文永久链接 – https://tonybai.com/2025/09/03/gopher-first-lesson-to-big-factory 大家好，我是Tony Bai。 很多计算机专业的同学们都在问：想进大厂，要先学好哪门编程语言？ 从应用广泛程度来说，学好Go语言肯定错不了！我们来看一下大厂们都用Go在做哪些开发： &amp;gt; 阿里用于基础服务、网关、容器、服务框架等开发。 &amp;gt; &amp;gt; &amp;gt; 字节...</description></item><item><title>Go 1.25中值得关注的几个变化</title><link>https://tonybai.com/2025/08/15/some-changes-in-go-1-25/</link><pubDate>Fri, 15 Aug 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/08/15/some-changes-in-go-1-25/</guid><description>本文永久链接 – https://tonybai.com/2025/08/15/some-changes-in-go-1-25 大家好，我是Tony Bai。 北京时间2025年8月13日，Go 团队如期发布了 Go 语言的最新大版本——Go 1.25。按照惯例，每次 Go 大版本发布时，我都会撰写一篇“Go 1.x 中值得关注的几个变化”的文章。自 2014 年的 Go 1.4 版本起，这一系列...</description></item><item><title>后VMware时代：为什么Kubernetes正在成为VM的新家？</title><link>https://tonybai.com/2025/08/05/the-voice-of-k8s-experts-report-2025/</link><pubDate>Tue, 05 Aug 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/08/05/the-voice-of-k8s-experts-report-2025/</guid><description>后VMware时代：为什么Kubernetes正在成为VM的新家？ - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 ...</description></item><item><title>Prometheus 联合创始人的警告：在使用 OpenTelemetry 生成 Metrics 前请三思！</title><link>https://tonybai.com/2025/07/27/native-prometheus-instrumentation-over-opentelemetry/</link><pubDate>Sun, 27 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/27/native-prometheus-instrumentation-over-opentelemetry/</guid><description>本文永久链接 – https://tonybai.com/2025/07/27/native-prometheus-instrumentation-over-opentelemetry 大家好，我是Tony Bai。 在云原生可观测性的世界里，OpenTelemetry (OTel) 正如日中天。它被誉为“可观测性的未来”，承诺用一个统一的标准，终结 Metrics、Traces、Logs 各自为...</description></item><item><title>不止是云原生：为什么 Go 的热度在持续上升？来自社区的真实声音</title><link>https://tonybai.com/2025/07/23/go-surge-in-popularity/</link><pubDate>Wed, 23 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/23/go-surge-in-popularity/</guid><description>不止是云原生：为什么 Go 的热度在持续上升？来自社区的真实声音 - Tony Bai Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 我的技术专栏 *...</description></item><item><title>Twitch工程师的Go进阶之路：为何你写的Go代码，总感觉“不对劲”？</title><link>https://tonybai.com/2025/07/04/everything-i-did-to-become-an-expert-in-golang/</link><pubDate>Fri, 04 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/04/everything-i-did-to-become-an-expert-in-golang/</guid><description>本文永久链接 – https://tonybai.com/2025/07/04/everything-i-did-to-become-an-expert-in-golang 大家好，我是Tony Bai。 你是否也有过这样的时刻？ 你已经用 Go 写了不少代码，项目也能跑起来，但内心深处总有一种挥之不去的“别扭感”。你写的 Go 代码，看起来更像是“带有 Go 语法的 Java/Python”，充...</description></item><item><title>特斯拉首席工程师的忠告：用“单向门 vs 双向门”决策，看清分布式系统的未来</title><link>https://tonybai.com/2025/07/01/predicting-the-future-of-distributed-systems/</link><pubDate>Tue, 01 Jul 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/07/01/predicting-the-future-of-distributed-systems/</guid><description>特斯拉首席工程师的忠告：用“单向门 vs 双向门”决策，看清分布式系统的未来 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进...</description></item><item><title>Kubernetes 2.0 畅想：告别 YAML、etcd 束缚与 Helm 之痛，K8s 的下一站是什么？</title><link>https://tonybai.com/2025/06/21/kubernetes-2-0/</link><pubDate>Sat, 21 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/21/kubernetes-2-0/</guid><description>Kubernetes 2.0 畅想：告别 YAML、etcd 束缚与 Helm 之痛，K8s 的下一站是什么？ - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * G...</description></item><item><title>Go还是Rust？2025年技术选型之辩</title><link>https://tonybai.com/2025/06/15/rust-vs-go-2025/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/06/15/rust-vs-go-2025/</guid><description>Go还是Rust？2025年技术选型之辩 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ * 关于我 * 文章列表...</description></item><item><title>Rob Pike的“抱怨”与Go的“解药”：直面软件膨胀的四大根源</title><link>https://tonybai.com/2025/04/27/rob-pike-on-bloat/</link><pubDate>Sun, 27 Apr 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/04/27/rob-pike-on-bloat/</guid><description>Rob Pike的“抱怨”与Go的“解药”：直面软件膨胀的四大根源 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ...</description></item><item><title>Go应用的K8s“最佳拍档”：何时以及如何用好多容器Pod模式</title><link>https://tonybai.com/2025/04/24/multiple-containers-pod-pattern/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/04/24/multiple-containers-pod-pattern/</guid><description>Go应用的K8s“最佳拍档”：何时以及如何用好多容器Pod模式 - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * Go语言进阶课FAQ *...</description></item><item><title>Go 1.25新提案：GOMAXPROCS默认值将迎Cgroup感知能力，终结容器性能噩梦？</title><link>https://tonybai.com/2025/04/09/gomaxprocs-defaults-add-cgroup-aware/</link><pubDate>Wed, 09 Apr 2025 00:00:00 +0800</pubDate><guid>https://tonybai.com/2025/04/09/gomaxprocs-defaults-add-cgroup-aware/</guid><description>Go 1.25新提案：GOMAXPROCS默认值将迎Cgroup感知能力，终结容器性能噩梦？ - Tony Bai =============== Tony Bai 一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ...</description></item><item><title>都2024年了，当初那个“Go，互联网时代的C语言”的预言成真了吗？</title><link>https://tonybai.com/2024/08/17/go-the-c-language-of-the-internet-era-come-true/</link><pubDate>Sat, 17 Aug 2024 00:00:00 +0800</pubDate><guid>https://tonybai.com/2024/08/17/go-the-c-language-of-the-internet-era-come-true/</guid><description>都2024年了，当初那个“Go，互联网时代的C语言”的预言成真了吗？ | Tony Bai =============== Tony Bai一个程序员的心路历程 * Google Go语言编码风格规范 * Google Go语言编码风格规范：指南篇 * Google Go语言编码风格规范：决定篇 * Google Go语言编码风格规范：最佳实践篇 * Go语言第一课FAQ * 关于我 * 文章列表...</description></item><item><title>通过实例理解Web应用的机密管理</title><link>https://tonybai.com/2023/11/08/understand-go-web-secret-management-by-example/</link><pubDate>Wed, 08 Nov 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/11/08/understand-go-web-secret-management-by-example/</guid><description>本文永久链接 – https://tonybai.com/2023/11/08/understand-go-web-secret-management-by-example 如果你是一个Web应用系统的开发人员，你的日常大概率是“乐此不疲”地做着CRUD的活儿，很少接触到安全方面的内容。如果这时有人和你提到“机密(信息)管理(secret management)”，你大概率会说：那是啥？和我有关系...</description></item><item><title>Service Weaver：以单体形式编码，以微服务形式部署</title><link>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</link><pubDate>Mon, 09 Oct 2023 00:00:00 +0800</pubDate><guid>https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices/</guid><description>本文永久链接 – https://tonybai.com/2023/10/09/service-weaver-coding-in-monolithic-deploy-in-microservices 分布式应用的主流架构模式演化为**微服务架构**已经有些年头了。微服务、DevOps、持续交付和容器技术(k8s)是构成最初云原生概念的核心要素。它们相生相拌，共同演进，并推动了云计算**全面进入云原...</description></item><item><title>使用viper实现yaml配置文件的合并</title><link>https://tonybai.com/2022/09/20/use-viper-to-do-merge-of-yml-configuration-files/</link><pubDate>Tue, 20 Sep 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/09/20/use-viper-to-do-merge-of-yml-configuration-files/</guid><description>本文永久链接 – https://tonybai.com/2022/09/20/use-viper-to-do-merge-of-yml-configuration-files 作为小厂，我们的基础设施还不够完备，项目经理中秋节通知我们的系统近期要上second-to-last stage环境和生产环境，于是从运维人员部署效率方面考量，我们紧急开发了一个一键安装脚本生成工具，这样运维人员便可以利用...</description></item><item><title>使用Go开发Kubernetes Operator：基本结构</title><link>https://tonybai.com/2022/08/15/developing-kubernetes-operators-in-go-part1/</link><pubDate>Mon, 15 Aug 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/08/15/developing-kubernetes-operators-in-go-part1/</guid><description>本文永久链接 – https://tonybai.com/2022/08/15/developing-kubernetes-operators-in-go-part1 &amp;gt; 注：文章首图基于《Kubernetes Operators Explained》修改 几年前，我还称Kubernetes为服务编排和容器调度领域的事实标准，如今K8s已经是这个领域的“霸主”，地位无可撼动。不过，虽然Kubern...</description></item><item><title>使用Go语言实现eBPF程序内核态与用户态的双向数据交换</title><link>https://tonybai.com/2022/07/25/bidirectional-data-exchange-between-kernel-and-user-states-of-ebpf-programs-using-go/</link><pubDate>Mon, 25 Jul 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/07/25/bidirectional-data-exchange-between-kernel-and-user-states-of-ebpf-programs-using-go/</guid><description>本文永久链接 – https://tonybai.com/2022/07/25/bidirectional-data-exchange-between-kernel-and-user-states-of-ebpf-programs-using-go 在之前的两篇文章中，无论是使用C语言开发eBPF程序，还是使用Go开发的eBPF程序，都是hello world级别的，可能有用，但谈不上十分实用。 ...</description></item><item><title>使用Go语言开发eBPF程序</title><link>https://tonybai.com/2022/07/19/develop-ebpf-program-in-go/</link><pubDate>Tue, 19 Jul 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/07/19/develop-ebpf-program-in-go/</guid><description>本文永久链接 – https://tonybai.com/2022/07/19/develop-ebpf-program-in-go 在前面的《使用C语言从头开发一个Hello World级别的eBPF程序》一文中，我们详细说明了如何基于C语言和libbpf库从头开发一个eBPF程序(包括其用户态部分)。那篇文章是后续有关eBPF程序开发文章的基础，因为到目前为止，无论eBPF程序的用户态部分用什...</description></item><item><title>使用C语言从头开发一个Hello World级别的eBPF程序</title><link>https://tonybai.com/2022/07/05/develop-hello-world-ebpf-program-in-c-from-scratch/</link><pubDate>Tue, 05 Jul 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/07/05/develop-hello-world-ebpf-program-in-c-from-scratch/</guid><description>本文永久链接 – https://tonybai.com/2022/07/05/develop-hello-world-ebpf-program-in-c-from-scratch * * * 近两年最火的Linux内核技术非eBPF莫属！ 2019年以来，除了eBPF技术自身快速演进之外，基于eBPF技术的观测(Observability)、安全(Security)和网络(Networking)...</description></item><item><title>Gopher部落：2022年要做的事儿</title><link>https://tonybai.com/2022/03/06/the-2022-plan-of-gopher-tribe/</link><pubDate>Sun, 06 Mar 2022 00:00:00 +0800</pubDate><guid>https://tonybai.com/2022/03/06/the-2022-plan-of-gopher-tribe/</guid><description>本文永久链接 – https://tonybai.com/2022/03/06/the-2022-plan-of-gopher-tribe 2021年末，我对Gopher部落知识星球的这一年进行了简单的复盘。2022年初，我陆续收到知识星球官方的一些排名数据： 这些数据让我对2022年星球的运营更加有信心了！那么，2022年Gopher部落知识星球会有哪些变化呢？在本文中，我就来说一说这方面内容。...</description></item><item><title>使用Docker容器突破客户端6w可用端口的误区</title><link>https://tonybai.com/2021/12/14/the-misconception-of-using-docker-to-break-out-of-6w-ports-of-the-client/</link><pubDate>Tue, 14 Dec 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/12/14/the-misconception-of-using-docker-to-break-out-of-6w-ports-of-the-client/</guid><description>本文永久链接 – https://tonybai.com/2021/12/14/the-misconception-of-using-docker-to-break-out-of-6w-ports-of-the-client 近期的一个项目刚刚完成了第一个版本的开发，经过一段时间的自测与集成测试，功能问题已经不是重点了。项目在初期设定了性能目标，压测与性能优化势在必行，因此这一阶段我们都在做压测前...</description></item><item><title>使用Docker Compose构建一键启动的运行环境</title><link>https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose/</link><pubDate>Fri, 26 Nov 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose/</guid><description>本文永久链接 – https://tonybai.com/2021/11/26/build-all-in-one-runtime-environment-with-docker-compose 如今，不管你是否喜欢，不管你是否承认，微服务架构模式的流行就摆在那里。作为架构师的你，如果再将系统设计成个大单体结构，那么即便不懂技术的领导，都会给你送上几次白眼。好吧，妥协了！开拆！“没吃过猪肉，还没见过...</description></item><item><title>Rust vs. Go：为什么强强联合会更好</title><link>https://tonybai.com/2021/03/15/rust-vs-go-why-they-are-better-together/</link><pubDate>Mon, 15 Mar 2021 00:00:00 +0800</pubDate><guid>https://tonybai.com/2021/03/15/rust-vs-go-why-they-are-better-together/</guid><description>本文翻译自乔纳森·特纳（Jonathan Turner）和史蒂夫·弗朗西亚（Steve Francia）的文章《Rust vs. Go: Why They’re Better Together》。 &amp;gt; 史蒂夫·弗朗西亚（Steve Francia）：在过去的25年里，Steve Francia建立了一些最具创新性和成功的技术和公司，这些技术和公司已经成为云计算的基础，被全世界的企业和开发者所接受。...</description></item><item><title>Hello，WireGuard</title><link>https://tonybai.com/2020/03/29/hello-wireguard/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0800</pubDate><guid>https://tonybai.com/2020/03/29/hello-wireguard/</guid><description>2020年1月28日，Linux之父Linus Torvalds正式将WireGuard merge到Linux 5.6版本内核主线： 图：WireGuard被加入linux kernel 5.6主线的commit log 这意味着在Linux 5.6内核发布时，linux在内核层面将**原生**支持一个新的VPN协议栈：WireGuard。 图：WireGuard Logo 一. VPN与Wir...</description></item><item><title>Kubernetes Deployment故障排除图解指南</title><link>https://tonybai.com/2019/12/08/k8s-deployment-troubleshooting/</link><pubDate>Sun, 08 Dec 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/12/08/k8s-deployment-troubleshooting/</guid><description>* * * 下面是一个示意图，可帮助你调试Kubernetes Deployment（你可以在此处下载它的PDF版本）。 当你希望在Kubernetes中部署应用程序时，你通常会定义三个组件： * 一个**Deployment** – 这是一份用于创建你的应用程序的Pod副本的”食谱”； * 一个**Service** – 一个内部负载均衡器，用于将流量路由到内部的Pod上； * 一个**Ingr...</description></item><item><title>Go语言项目的安全评估技术</title><link>https://tonybai.com/2019/11/08/security-assessment-techniques-for-go-projects/</link><pubDate>Fri, 08 Nov 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/11/08/security-assessment-techniques-for-go-projects/</guid><description>在今年夏天我们对Kubernetes的评估成功之后，我们收到了大量Go项目的安全评估需求。为此，我们将在其他编译语言中使用过的安全评估技术和策略调整适配到多个Go项目中。 我们从了解语言的设计开始，识别出开发人员可能无法完全理解语言语义特性的地方。多数这些被误解的语义来自我们向客户报告的调查结果以及对语言本身的独立研究。尽管不是详尽无遗，但其中一些问题领域包括作用域、协程、错误处理和依赖管理。值得...</description></item><item><title>如何在Ubuntu 18.04 Server上部署Kubernetes集群</title><link>https://tonybai.com/2019/10/21/how-to-deploy-a-kubernetes-cluster-with-ubuntu-server-18-04/</link><pubDate>Mon, 21 Oct 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/10/21/how-to-deploy-a-kubernetes-cluster-with-ubuntu-server-18-04/</guid><description>如今，你几乎不可避免地会听到来自Kubernetes的发声，你更没有充分的理由拒绝去听。 一旦一切就绪，这个强大的容器编排工具将以您难以想象的敏捷性来扩展您的操作。 为了实际使用Kubernetes进行部署和管理容器，您首先必须创建Kubernetes服务器集群。 一旦集群建立后，您就能够部署，扩展和管理您的容器化应用程序了。 在Ubuntu Server 18.04的帮助下，我将引导您完成此过程...</description></item><item><title>在Kubernetes上如何基于自定义指标实现应用的自动缩放</title><link>https://tonybai.com/2019/10/11/autoscaling-apps-on-kubernetes/</link><pubDate>Fri, 11 Oct 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/10/11/autoscaling-apps-on-kubernetes/</guid><description>如何在Kubernetes上实现应用缩放？ --------------------- 使用静态配置将应用程序部署到生产环境并不是最佳选择。 流量模式可能会快速变化，应用程序应该能够实现自适应： * 当需求增加时，应用程序应扩大规模（增加副本数）以保持响应速度。 * 当需求减少时，应用程序应缩小规模（减少副本数量），以免浪费资源。 Kubernetes以Horizontal Pod Autosca...</description></item><item><title>构建Kubernetes集群 – 选择工作节点大小</title><link>https://tonybai.com/2019/09/05/kubernetes-node-size/</link><pubDate>Thu, 05 Sep 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/09/05/kubernetes-node-size/</guid><description>&amp;gt; 近期learnk8s网站上发布了一些关于k8s的好文章，这里搬运并翻译了一些，供大家参考。 本文翻译自《Architecting Kubernetes clusters — choosing a worker node size》。 **当您创建Kubernetes集群时，冒出的第一个问题之一是：“我应该使用哪种类型的工作节点以及需要多少个这样的节点”。** 如果您正在构建在内部部署的k8s集...</description></item><item><title>提高您的kubectl生产力（第三部分）：集群上下文切换、使用别名减少输入和插件扩展</title><link>https://tonybai.com/2019/08/31/kubectl-productivity-part3/</link><pubDate>Sat, 31 Aug 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/08/31/kubectl-productivity-part3/</guid><description>本文翻译自《Boosting your kubectl productivity》。 第一部分：什么是kubectl？ 第二部分：命令完成、资源规范快速查看和自定义列输出格式什么是kubectl？ 4\. 轻松切换集群和名称空间 --------------- 当kubectl必须向Kubernetes API发出请求时，它会读取系统上所谓的kubeconfig文件，以获取它需要访问的所有连接参数...</description></item><item><title>提高您的kubectl生产力（第二部分）：命令完成、资源规范快速查看和自定义列输出格式</title><link>https://tonybai.com/2019/08/30/kubectl-productivity-part2/</link><pubDate>Fri, 30 Aug 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/08/30/kubectl-productivity-part2/</guid><description>本文翻译自《Boosting your kubectl productivity》。 第一部分：什么是kubectl？ 1\. 通过命令完成(command completion)减少输入 ---------------------------------- 命令完成是提高你的kubectl生产力的最有用但经常被忽视的技巧之一。 命令完成允许您使用Tab键自动完成kubectl命令的各个部分。这适...</description></item><item><title>提高您的kubectl生产力（第一部分）：什么是kubectl</title><link>https://tonybai.com/2019/08/29/kubectl-productivity-part1/</link><pubDate>Thu, 29 Aug 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/08/29/kubectl-productivity-part1/</guid><description>本文翻译自《Boosting your kubectl productivity》。 如果您使用Kubernetes，那么kubectl可能是您最常用的工具之一。每当您花费大量时间使用某种特定工具时，值得深入了解并了解如何有效地使用它。 本文包含一系列提示和技巧，使您对kubectl的使用更加高效和有效。同时，它旨在加深您对Kubernetes各方面工作的理解。 本文的目标是让您在Kubernet...</description></item><item><title>使用nomad在weave网络中部署工作负载</title><link>https://tonybai.com/2019/04/20/deploy-workload-in-weave-network-using-nomad/</link><pubDate>Sat, 20 Apr 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/04/20/deploy-workload-in-weave-network-using-nomad/</guid><description>当初Kubernetes网络的设计目标是**使得开发者使用pod时在网络这一层面可以像使用传统物理主机或虚拟机一样**。具体的基本要求如下： * 所有pod间均应可以在无需NAT的情况下直接通信； * 所有集群节点与所有集群的Pod之间均应可以在无需NAT的情况下直接通信； * 容器自身的地址和其他pod看到的它的地址是同一个地址； 按照这样的要求，集群中的每个pod都在一个平坦的、共享网络命名空...</description></item><item><title>Kubernetes网络插件（CNI）基准测试的最新结果</title><link>https://tonybai.com/2019/04/18/benchmark-result-of-k8s-network-plugin-cni/</link><pubDate>Thu, 18 Apr 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/04/18/benchmark-result-of-k8s-network-plugin-cni/</guid><description>本文翻译自Alexis Ducastel的文章《Benchmark results of Kubernetes network plugins (CNI) over 10Gbit/s network (Updated: April 2019)》。 本文是我之前的基准测试的最新更新，这次测试在最新版Kubernetes 1.14上运行，其中CNI版本在2019年4月更新。 首先，非常感谢Cilium...</description></item><item><title>使用nomad实现集群管理和微服务部署调度</title><link>https://tonybai.com/2019/03/30/cluster-management-and-microservice-deployment-and-scheduled-by-nomad/</link><pubDate>Sat, 30 Mar 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/03/30/cluster-management-and-microservice-deployment-and-scheduled-by-nomad/</guid><description>在“云原生”、“容器化”、“微服务”、“服务网格”等概念大行其道的今天，一提到集群管理、容器工作负载调度，人们首先想到的是Kubernetes。 Kubernetes经过多年的发展，目前已经成为了云原生计算平台的事实标准，得到了诸如谷歌、微软、红帽、亚马逊、IBM、阿里等大厂的大力支持，各大云计算提供商也都提供了专属Kubernetes集群服务。开发人员可以**一键**在这些大厂的云上创建k8s集...</description></item><item><title>YAML入门：以创建一个Kubernetes deployment为例</title><link>https://tonybai.com/2019/02/25/introduction-to-yaml-creating-a-kubernetes-deployment/</link><pubDate>Mon, 25 Feb 2019 00:00:00 +0800</pubDate><guid>https://tonybai.com/2019/02/25/introduction-to-yaml-creating-a-kubernetes-deployment/</guid><description>YAML语言似乎已经成为了事实标准的“云配置”语言，无论是容器事实标准docker(主要是docker-compose使用)、SDN，还是容器编排王者kubernetes，又或是虚拟机时代的王者openstack采用的配置文件都是yaml文件格式。不过需要承认的是我个人最初刚接触yaml时还不是很适应（个人更适应json），在后续运维kubernetes时，每每都要去参考k8s doc中的各种k8...</description></item><item><title>Hello，Go module proxy</title><link>https://tonybai.com/2018/11/26/hello-go-module-proxy/</link><pubDate>Mon, 26 Nov 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/11/26/hello-go-module-proxy/</guid><description>一. Go module引入的幸福与“无奈” ---------------------- 在《Go 1.11中值得关注的几个变化》一文中，我们知道了Go语言通过引入module的概念进而引入了Go tool的另外一种工作模式module-aware mode。在新的工作模式下，Go module支持了Versioned Go，并初步解决了包依赖管理的问题。 对于全世界绝大多数Gophers来说，...</description></item><item><title>官宣：慕课网课程“Kubernetes实战：高可用集群搭建、配置、运维与应用”上线了</title><link>https://tonybai.com/2018/10/17/imooc-course-kubernetes-practice-go-online/</link><pubDate>Wed, 17 Oct 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/10/17/imooc-course-kubernetes-practice-go-online/</guid><description>距离我的第一门网课《Kubernetes基础：开启云原生之门》上线已经过去5个多月了，我的实战课《Kubernetes实战：高可用集群搭建、配置、运维与应用》终于在9月27日正式上线了。 一. 课程介绍 《Kubernetes实战：高可用集群搭建、配置、运维与应用》的课程内容与最初课程设计时规划的内容大纲没有太多出入，基本就是根据我最初的想法拟定的内容，**这也基本是我这两年学习k8s、积累的k8...</description></item><item><title>基于consul实现微服务的服务发现和负载均衡</title><link>https://tonybai.com/2018/09/10/setup-service-discovery-and-load-balance-based-on-consul/</link><pubDate>Mon, 10 Sep 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/09/10/setup-service-discovery-and-load-balance-based-on-consul/</guid><description>一. 背景 ----- 随着2018年年初国务院办公厅联合多个部委共同发布了《国务院办公厅关于促进“互联网+医疗健康”发展的意见(国办发〔2018〕26号)》，国内医疗IT领域又迎来了一波互联网医院建设的高潮。不过互联网医院多基于实体医院建设，虽说挂了一个“互联网”的名号，但互联网医院系统也多与传统的院内系统，比如：HIS、LIS、PACS、EMR等共享院内的IT基础设施。 如果你略微了解过国内医...</description></item><item><title>HTTPS服务的Kubernetes ingress配置实践</title><link>https://tonybai.com/2018/06/25/the-kubernetes-ingress-practice-for-https-service/</link><pubDate>Mon, 25 Jun 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/06/25/the-kubernetes-ingress-practice-for-https-service/</guid><description>在公有云被广泛接纳的今天，数据传输安全问题日益凸显，因为在公有云提供商的经典网络（二层互通）中，即便是内部网络通信也要考虑网络嗅探等hack手段，这也是公有云主推所谓“专用网络（二层隔离）”的原因之一。从应用的角度，我们应该尽量通过技术手段保证数据通信的安全性。而目前最常用的方式就是基于SSL/TLS的安全通信方式了，在七层，对应的就是https了。 这样，下面的仅在负载均衡/反向代理入口做加密通...</description></item><item><title>实践kubernetes ingress controller的四个例子</title><link>https://tonybai.com/2018/06/21/kubernetes-ingress-controller-practice-using-four-examples/</link><pubDate>Thu, 21 Jun 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/06/21/kubernetes-ingress-controller-practice-using-four-examples/</guid><description>我之前并未使用过标准的Kubernetes ingress，而是自己实现了一个基于nginx的、类似ingress controller的服务入口管理程序nginx-kit。这个程序会部署到Kubernetes集群中，以Pod形式运行。该Pod由两个Container组成，一个Container放置了一个由脚本启动的nginx；另外一个Container中放置的是一个conf generator程...</description></item><item><title>使用kubectl访问Kubernetes集群时的身份验证和授权</title><link>https://tonybai.com/2018/06/14/the-authentication-and-authorization-of-kubectl-when-accessing-k8s-cluster/</link><pubDate>Thu, 14 Jun 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/06/14/the-authentication-and-authorization-of-kubectl-when-accessing-k8s-cluster/</guid><description>kubectl是日常访问和管理Kubernetes集群最为常用的工具。 当我们使用kubeadm成功引导启动(init)一个Kubernetes集群的控制平面后，kubeadm会在init的输出结果中给予我们下面这样的“指示”： ... ... Your Kubernetes master has initialized successfully! To start using your clus...</description></item><item><title>在Kubernetes 1.10.3上以Hard模式搭建EFK日志分析平台</title><link>https://tonybai.com/2018/06/13/setup-efk-on-kubernetes-1-10-3-in-the-hard-way/</link><pubDate>Wed, 13 Jun 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/06/13/setup-efk-on-kubernetes-1-10-3-in-the-hard-way/</guid><description>在一年多之前，我曾写过一篇文章《使用Fluentd和ElasticSearch Stack实现Kubernetes的集群Logging》，文中讲解了如何在Kubernetes上利用EFK（elastic, fluentd, kibana）搭建一套可用的集中日志分析平台。当时的k8s使用的是1.3.7版本，创建EFK使用的是kubernetes项目中**cluster/addons/fluentd-...</description></item><item><title>慕课网免费课“Kubernetes：开启云原生之门”上线</title><link>https://tonybai.com/2018/05/02/imooc-course-kubernetes-open-the-gate-to-cloudnative-go-online/</link><pubDate>Wed, 02 May 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/05/02/imooc-course-kubernetes-open-the-gate-to-cloudnative-go-online/</guid><description>这两年一直在做一个基于Kubernetes的、用于互联网产品运营支撑的类PaaS平台，因此一直把自己定位为一个Kubernetes实践者：以Kubernetes为中心进行集群搭建、运维、k8s相关技术的理解与应用、k8s新技术的追踪和尝试落地等。不过就Kubernetes的深入程度来说，感觉自己和那些天天与k8s打交道的大厂专家或以容器云为卖点的技术专家还是有差距的。但是大厂专家每周996，闲暇时...</description></item><item><title>TB一周萃选[第10期]</title><link>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Mar 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/03/03/10th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第10期\]”**的归档。 &amp;gt; 这个世界上最危险的毒药，就是成就感。而解药就是每晚都想一想，明天如何做得更好。 – 英格瓦坎普拉德，宜家创始人 2018年元宵节已过，这个传统意义上的年就算真的过完了，我们的那颗有些闲散、有些懈怠的心需要收一收，是时候为2018年的“事业”做些规划，从2018的起跑线上起跑出去了。就连现在的孩子，在开学第一课时都...</description></item><item><title>TB一周萃选[第9期]</title><link>https://tonybai.com/2018/02/11/9th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sun, 11 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/11/9th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第9期\]”**的归档。 &amp;gt; 亲情犹如一江剪不断的春水，流动的是游子心中永远的思念；亲情犹如一丘数不尽的细沙，沉淀的是长年堆积的牵挂；亲情犹如夜空中那颗北斗，指引的是那迷路的羔羊回家的方向。忙碌了一年，该回家了，给心放个假，带上媳妇带上你的娃，回家看看那年迈的爸妈，出发！ — 改编自网络 此时此刻，很多人刚刚踏上了春节回家的旅途，有些人更是已经...</description></item><item><title>TB一周萃选[第8期]</title><link>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 03 Feb 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/02/03/8th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第8期\]”**的归档。 &amp;gt; 再看看那个光点，它就在这里。那是我们的家园，我们的一切。你所爱的每一个人，你认识的每一个人，你听说过的每一个人，曾经有过的每一个人，都在它上面度过他们的一生。我们的欢乐与痛苦聚集在一起，数以千计的自以为是的宗教、意识形态和经济学说，所有的猎人与强盗、英雄与懦夫、文明的缔造者与毁灭者、国王与农夫、年轻的情侣、母亲与父...</description></item><item><title>TB一周萃选[第5期]</title><link>https://tonybai.com/2018/01/14/5th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sun, 14 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/14/5th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第5期\]”**的归档。 &amp;gt; 人生十鉴 &amp;gt; &amp;gt; 大喜易失言 &amp;gt; 大怒易失礼 &amp;gt; 大惊易失态 &amp;gt; 大哀易失颜 &amp;gt; 大乐易失察 &amp;gt; 大惧易失节 &amp;gt; 大思易失爱 &amp;gt; 大醉易失德 &amp;gt; 大话易失信 &amp;gt; 大欲易失命 下雪，是北方城市冬天的“常规操作”，是最不需要被单独关注的的事情。但今年冬天的“雪”却成为了这边的热门话题，原因：**自从入冬以来一直就没下一...</description></item><item><title>TB一周萃选[第4期]</title><link>https://tonybai.com/2018/01/06/4th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 06 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/06/4th-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第4期\]”**的归档。 &amp;gt; 孩子，我要求你读书用功，不是因为我要你跟别人比成绩，而是因为，我希望你将来会拥有选择的权利，选择有意义、有时间的工作，而不是被迫谋生。当你的工作在你心中有意义，你就有成就感。当你的工作给你时间，不剥夺你的生活，你就有尊严。成就感和尊严，给你快乐。——龙应台 《亲爱的安德烈》 这两天中原大地的一场大雪正式宣告了深冬的...</description></item><item><title>使用istio治理微服务入门</title><link>https://tonybai.com/2018/01/03/an-intro-of-microservices-governance-by-istio/</link><pubDate>Wed, 03 Jan 2018 00:00:00 +0800</pubDate><guid>https://tonybai.com/2018/01/03/an-intro-of-microservices-governance-by-istio/</guid><description>近两年微服务架构流行，主流互联网厂商内部都已经微服务化，初创企业虽然技术积淀不行，但也通过各种开源工具拥抱微服务。再加上容器技术赋能，Kubernetes又添了一把火，微服务架构已然成为当前软件架构设计的首选。 **但微服务化易弄，服务治理难搞！** 一、微服务的“痛点” ---------- 微服务化没有统一标准，多数是进行业务领域垂直切分，业务按一定的粒度划分职责，并形成清晰、职责单一的服务接...</description></item><item><title>TB一周萃选[第3期]</title><link>https://tonybai.com/2017/12/30/3rd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Sat, 30 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/30/3rd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**“TB一周萃选\[第3期\]”**的归档。 &amp;gt; 《岁旦》 &amp;gt; &amp;gt; &amp;gt; 宋伯仁 宋代诗人 &amp;gt; &amp;gt; 居间无贺客，早起只如常。桃版随人换，梅花隔岁香。 &amp;gt; 　　春风回笑语，云气卜丰穰。柏酒何劳劝，心平寿自长。 本期萃选是2017年的最后一期，也是迎接2018新年“承前启后”的一期。 对于现代中国人来说，公历新年又称为“元旦”。但稍有些历史常识的朋友都会知道：此“元旦”...</description></item><item><title>TB一周萃选[第2期]</title><link>https://tonybai.com/2017/12/22/2nd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</link><pubDate>Fri, 22 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/22/2nd-issue-of-the-tech-weekly-carefully-chosen-by-tonybai/</guid><description>本文是首发于个人微信公众号的文章**TB一周萃选\[第2期\]**的归档。 封面 &amp;gt; “我天性不宜交际。 &amp;gt; &amp;gt; 在多数场合，我不是觉得对方乏味，就是害怕对方觉得我乏味。可是我既不愿忍受对方的乏味，也不愿费劲使自己显得有趣，那都太累了。 &amp;gt; &amp;gt; 我独处时最轻松，因为我不觉得自己乏味，即使乏味，也自己承受，不累及他人，无需感到不安。” ——周国平 本周日晚上就是平安夜了！ 圣诞节，是西方最重要的节日...</description></item><item><title>在Kubernetes集群上部署高可用Harbor镜像仓库</title><link>https://tonybai.com/2017/12/08/deploy-high-availability-harbor-on-kubernetes-cluster/</link><pubDate>Fri, 08 Dec 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/12/08/deploy-high-availability-harbor-on-kubernetes-cluster/</guid><description>关于基于Harbor的高可用私有镜像仓库，在我的博客里曾不止一次提到，在源创会2017沈阳站上，我还专门以此题目和大家做了分享。事后，很多人通过微博私信、个人公众号或博客评论问我是否可以在Kubernetes集群上安装高可用的Harbor仓库，今天我就用这篇文章来回答大家这个问题。 一、Kubernetes上的高可用Harbor方案 ------------------------- 首先，我可以...</description></item><item><title>Kubernetes节点资源耗尽状态的处理</title><link>https://tonybai.com/2017/10/16/out-of-node-resource-handling-in-kubernetes-cluster/</link><pubDate>Mon, 16 Oct 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/10/16/out-of-node-resource-handling-in-kubernetes-cluster/</guid><description>今天上午一到工位，就收到来自同事的“投诉”：私有云上的Kubernetes cluster中的一个node似乎不工作了，因为专门部署于那个节点上的应用挂掉了，并且长时间没有恢复。这个公司私有云上Kubernetes集群是v1.7.5版本，部署于双节假期之前。最近感觉K8s开发明显提速，连续发布版本，截至发稿时，最新发布的版本为v1.8.1了。这个集群一直运行相对稳定，今天这个异常到底是怎么一回事呢...</description></item><item><title>Kubernetes Dashboard 1.7.0部署二三事</title><link>https://tonybai.com/2017/09/26/some-notes-about-deploying-kubernetes-dashboard-1-7-0/</link><pubDate>Tue, 26 Sep 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/09/26/some-notes-about-deploying-kubernetes-dashboard-1-7-0/</guid><description>由于开发的平台要进行内部公开测试，我们这周在公司内部私有云搭建了一套平台。涉及到Kubernetes相关的基础软件，由我来部署。Kubernetes以及其相关组件都在积极的开发中，版本更新也很快。截至本文撰写时，K8s发布最新稳定版是v1.7.6，而与之配套的Dashboard则是v1.7.0。 最初在部署规划时，我选择了Kubernetes v1.7.6+ dashboard v1.6.3的组合...</description></item><item><title>解决Kubernetes 1.7.3 kube-apiserver频繁异常重启的问题</title><link>https://tonybai.com/2017/08/09/fix-kube-apiserver-restart-exceptionally-in-k8s-1-7-3/</link><pubDate>Wed, 09 Aug 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/08/09/fix-kube-apiserver-restart-exceptionally-in-k8s-1-7-3/</guid><description>近期将之前的一个用kube-up.sh安装的Kubernetes 1.3.7的环境更换为最新发布的用kubeadm安装的Kubernetes 1.7.3版本。新版本的安装过程和之前的采用kubeadm安装的k8s 1.5.x、1.6.x版本类似，这里不赘述了。但在安装Dashboard后，发现了一些问题，这里记录一下解决的过程。 一、第一个问题 ------- 我们先来做一下回顾。在《解决Kube...</description></item><item><title>解决Kubernetes 1.6.4 Dashboard无法访问的问题</title><link>https://tonybai.com/2017/07/20/fix-cannot-access-dashboard-in-k8s-1-6-4/</link><pubDate>Thu, 20 Jul 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/07/20/fix-cannot-access-dashboard-in-k8s-1-6-4/</guid><description>前一段时间将之前采用kubeadm安装的Kubernetes 1.5.1环境升级到了1.6.4版本，升级过程较为顺利。由于该k8s cluster是一个测试环境，当时并没有过于关注，就忙别的事情了。最近项目组打算在这个环境下做一些事情，而当我们重新“捡起”这个环境时，发现Kubernetes Dashboard无法访问了。 Kubernetes的dashboard可以有很多种访问方式，比如：可以通...</description></item><item><title>基于Harbor和CephFS搭建高可用Private Registry</title><link>https://tonybai.com/2017/06/09/setup-a-high-availability-private-registry-based-on-harbor-and-cephfs/</link><pubDate>Fri, 09 Jun 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/06/09/setup-a-high-availability-private-registry-based-on-harbor-and-cephfs/</guid><description>我们有给客户搭建私有容器仓库的需求。开源的私有容器registry可供选择的不多，除了docker官方的distribution之外，比较知名的是VMware China出品的Harbor，我们选择了harbor。 harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。harbor以docker-compose的规范形式组织各...</description></item><item><title>一步步打造基于Kubeadm的高可用Kubernetes集群-第二部分</title><link>https://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part2/</link><pubDate>Mon, 15 May 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part2/</guid><description>续接上文。 五、第三步：启动emei、wudang上的apiserver ------------------------------ 跨三个node的etcd cluster已经建成并完成了数据同步，下面进行ha cluster改造的重要一步：启动wudang、emei上的apiserver 1、启动emei、wudang上的apiserver 以shaolin node上的/etc/kuber...</description></item><item><title>一步步打造基于Kubeadm的高可用Kubernetes集群-第一部分</title><link>https://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part1/</link><pubDate>Mon, 15 May 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/05/15/setup-a-ha-kubernetes-cluster-based-on-kubeadm-part1/</guid><description>Kubernetes集群的核心是其master node，但目前默认情况下master node只有一个，一旦master node出现问题，Kubernetes集群将陷入“瘫痪”，对集群的管理、Pod的调度等均将无法实施，即便此时某些用户的Pod依旧可以正常运行。这显然不能符合我们对于运行于生产环境下的Kubernetes集群的要求，我们需要一个高可用的Kubernetes集群。 不过，目前Ku...</description></item><item><title>Kubernetes集群node主机名修改导致的异常</title><link>https://tonybai.com/2017/05/09/exception-caused-by-kubernetes-node-hostname-change/</link><pubDate>Tue, 09 May 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/05/09/exception-caused-by-kubernetes-node-hostname-change/</guid><description>除了在生产环境使用的Kubernetes 1.3.7集群之外，我这里还有一套1.5.1的Kubernetes测试环境，这个测试环境一来用于验证各种技术方案，二来也是为了跟踪Kubernetes的最新进展。本篇要记录的一个异常就是发生在该测试Kubernetes集群中的。 一、缘起 前两天我在Kubernetes测试环境搭建一套Ceph，为了便于ceph-deploy的安装，我通过hostnamec...</description></item><item><title>Kubernetes集群跨节点挂载CephFS</title><link>https://tonybai.com/2017/05/08/mount-cephfs-acrossing-nodes-in-kubernetes-cluster/</link><pubDate>Mon, 08 May 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/05/08/mount-cephfs-acrossing-nodes-in-kubernetes-cluster/</guid><description>在Kubernetes集群中运行有状态服务或应用总是不那么容易的。比如，之前我在项目中使用了CephRBD，虽然遇到过几次问题，但总体算是运行良好。但最近发现CephRBD无法满足跨节点挂载的需求，我只好另辟蹊径。由于CephFS和CephRBD师出同门，它自然成为了这次我首要考察的目标。这里将跨节点挂载CephFS的考察过程记录一下，一是备忘，二则也可以为其他有相似需求的朋友提供些资料。 一、C...</description></item><item><title>使用Fluentd和ElasticSearch Stack实现Kubernetes的集群Logging</title><link>https://tonybai.com/2017/03/03/implement-kubernetes-cluster-level-logging-with-fluentd-and-elasticsearch-stack/</link><pubDate>Fri, 03 Mar 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/03/03/implement-kubernetes-cluster-level-logging-with-fluentd-and-elasticsearch-stack/</guid><description>在本篇文章中，我们继续来说Kubernetes。 经过一段时间的探索，我们先后完成了Kubernetes集群搭建，DNS、Dashboard、Heapster等插件安装，集群安全配置，搭建作为Persistent Volume的CephRBD，以及服务更新等探索和实现工作。现在Kubernetes集群层面的Logging需求逐渐浮上水面了。 随着一些小应用在我们的Kubernetes集群上的部署上...</description></item><item><title>在Kubernetes Pod中使用Service Account访问API Server</title><link>https://tonybai.com/2017/03/03/access-api-server-from-a-pod-through-serviceaccount/</link><pubDate>Fri, 03 Mar 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/03/03/access-api-server-from-a-pod-through-serviceaccount/</guid><description>Kubernetes API Server是整个Kubernetes集群的核心，我们不仅有从集群外部访问API Server的需求，有时，我们还需要从Pod的内部访问API Server。 然而，在生产环境中，Kubernetes API Server都是“设防”的。在《Kubernetes集群的安全配置》一文中，我提到过：Kubernetes通过client cert、static token、...</description></item><item><title>Kubernetes集群Pod使用Host的本地时区设置</title><link>https://tonybai.com/2017/02/20/use-host-timezone-in-kubernetes-pods/</link><pubDate>Mon, 20 Feb 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/02/20/use-host-timezone-in-kubernetes-pods/</guid><description>Kubernetes集群搭建起来后，一直跑得很稳定。之前的关注点更多集中在安装、配置、组件调试方面，一些细枝末节被忽略了。Pod中时区的设置就是其中之一。今天腾出功夫打算解决一下这个问题。 一、问题现象 在我的Kubernetes 1.3.7集群的Master Node上，我们执行： date Mon Feb 20 11:49:20 CST 2017 之后，在该Node上随意找到一个Pod中的Co...</description></item><item><title>Kubernetes Pod无法挂载ceph RBD存储卷的临时解决方法</title><link>https://tonybai.com/2017/02/17/temp-fix-for-pod-unable-mount-cephrbd-volume/</link><pubDate>Fri, 17 Feb 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/02/17/temp-fix-for-pod-unable-mount-cephrbd-volume/</guid><description>所有涉及到存储的地方都是极易出现“坑”的地方，Kubernetes也不例外。 一、问题起因 问题始于昨天升级一个stateful service的操作。该service下的Pod挂载了使用ceph RBD提供的一个Persistent Volume。该Pod是用普通deployment部署的，并没有使用处于alpha状态的PetSet。改动仅仅是image的版本发生了变化。我执行的操作如下： ku...</description></item><item><title>Kubernetes集群中Service的滚动更新</title><link>https://tonybai.com/2017/02/09/rolling-update-for-services-in-kubernetes-cluster/</link><pubDate>Thu, 09 Feb 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/02/09/rolling-update-for-services-in-kubernetes-cluster/</guid><description>在移动互联网时代，消费者的消费行为已经“全天候化”，为此，商家的业务系统也要保持7×24小时不间断地提供服务以满足消费者的需求。很难想像如今还会有以“中断业务”为前提的服务系统更新升级。如果微信官方发布公告说：每周六晚23:00~次日凌晨2:00进行例行系统升级，不能提供服务，作为用户的你会怎么想、怎么做呢？因此，各个平台在最初设计时就要考虑到服务的更新升级问题，部署在Kubernetes集群中的...</description></item><item><title>以Kubeadm方式安装的Kubernetes集群的探索</title><link>https://tonybai.com/2017/01/24/explore-kubernetes-cluster-installed-by-kubeadm/</link><pubDate>Tue, 24 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/24/explore-kubernetes-cluster-installed-by-kubeadm/</guid><description>当前手上有两个Kubernetes cluster，一个是采用kube-up.sh安装的k8s 1.3.7版本，另外一个则是采用kubeadm安装的k8s 1.5.1版本。由于1.3.7版本安装在前，并且目前它也是承载了我们PaaS平台的环境，因此对于这个版本的Kubernetes安装环境、配置操作、日志查看、集群操作等相对较为熟悉。而Kubeadm安装的1.5.1版本K8s集群在组件部署、配置、...</description></item><item><title>Kubernetes Dashboard集成Heapster</title><link>https://tonybai.com/2017/01/20/integrate-heapster-for-kubernetes-dashboard/</link><pubDate>Fri, 20 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/20/integrate-heapster-for-kubernetes-dashboard/</guid><description>默认安装后的Kubernetes dashboard如下图所示，是无法图形化展现集群度量指标信息的： 图形化展示度量指标的实现需要集成k8s的另外一个Addons组件：Heapster。 Heapster原生支持K8s(v1.0.6及以后版本)和CoreOS，并且支持多种存储后端，比如：InfluxDB、ElasticSearch、Kafka等，这个风格和k8s的确很像：功能先不管完善与否，先让自...</description></item><item><title>Kubernetes集群Dashboard插件安装</title><link>https://tonybai.com/2017/01/19/install-dashboard-addon-for-k8s/</link><pubDate>Thu, 19 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/19/install-dashboard-addon-for-k8s/</guid><description>第一次利用kube-up.sh脚本方式安装Kubernetes 1.3.7集群时，我就已经顺利地将kubernetes dashboard addon安装ok了。至今在这个环境下运行十分稳定。但是毕竟是一个试验环境，有些配置是无法满足生产环境要求的，比如：安全问题。今天有时间对Dashboard的配置进行一些调整，顺带将之前Dashboard插件的安装和配置过程也记录下来，供大家参考。 一、Das...</description></item><item><title>理解Kubernetes网络之Flannel网络</title><link>https://tonybai.com/2017/01/17/understanding-flannel-network-for-kubernetes/</link><pubDate>Tue, 17 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/17/understanding-flannel-network-for-kubernetes/</guid><description>第一次采用kube-up.sh脚本方式安装的Kubernetes cluster目前运行良好，master node上的组件状态也始终是“没毛病”： kubectl get cs NAME STATUS MESSAGE ERROR controller-manager Healthy ok scheduler Healthy ok etcd-0 Healthy {&amp;#34;health&amp;#34;: &amp;#34;true&amp;#34;}...</description></item><item><title>理解Docker容器网络之Linux Network Namespace</title><link>https://tonybai.com/2017/01/11/understanding-linux-network-namespace-for-docker-network/</link><pubDate>Wed, 11 Jan 2017 00:00:00 +0800</pubDate><guid>https://tonybai.com/2017/01/11/understanding-linux-network-namespace-for-docker-network/</guid><description>由于2016年年中调换工作的原因，对容器网络的研究中断过一段时间。随着当前项目对Kubernetes应用的深入，我感觉之前对于容器网络的粗浅理解已经不够了，容器网络成了摆在前面的“一道坎”。继续深入理解K8s网络、容器网络已经势在必行。而这篇文章就算是一个重新开始，也是对之前浅表理解的一个补充。 我还是先从Docker容器网络入手，虽然Docker与Kubernetes采用了不同的网络模型：K8s...</description></item><item><title>使用Kubeadm安装Kubernetes</title><link>https://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm/</link><pubDate>Fri, 30 Dec 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm/</guid><description>在《当Docker遇到systemd》一文中，我提到过这两天儿一直在做的一个task：使用kubeadm在Ubuntu 16.04上安装部署Kubernetes的最新发布版本-k8s 1.5.1。 年中，Docker宣布在Docker engine中集成swarmkit工具包，这一announcement在轻量级容器界引发轩然大波。毕竟开发者是懒惰的^0^，有了docker swarmkit，驱动...</description></item><item><title>使用Kubeadm安装Kubernetes-Part2</title><link>https://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm-2/</link><pubDate>Fri, 30 Dec 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/12/30/install-kubernetes-on-ubuntu-with-kubeadm-2/</guid><description>此文为《使用Kubeadm安装Kubernetes》的第二部分。文章第一部分在这里可以看到。 五、weave network for pod 经过上面那么多次尝试，结果是令人扫兴的。Weave network似乎是最后一颗救命稻草了。有了前面的铺垫，这里就不详细列出各种命令的输出细节了。Weave network也有专门的官方文档用于指导如何与kubernetes集群集成，我们主要也是参考它。 1...</description></item><item><title>当Docker遇到systemd</title><link>https://tonybai.com/2016/12/27/when-docker-meets-systemd/</link><pubDate>Tue, 27 Dec 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/12/27/when-docker-meets-systemd/</guid><description>近期在做Kubernetes集群的升级的相关试验，即从原先的K8s 1.3.7版本升级到最新的K8s 1.5.1版本。k8s自1.4版本开始引入kubeadm，试图简化K8s的安装和使用门槛，提升开发者体验。但kubeadm仅支持16.04及以上的Ubuntu版本，于是我们在升级K8s集群前会遇到另外一个问题：Ubuntu 16.04已经由Upstart初始化系统换成了systemd初始化系统，U...</description></item><item><title>为Kubernetes集群中服务部署Nginx入口服务</title><link>https://tonybai.com/2016/11/22/deploy-nginx-service-for-the-services-in-kubernetes-cluster/</link><pubDate>Tue, 22 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/22/deploy-nginx-service-for-the-services-in-kubernetes-cluster/</guid><description>这段日子，一直在搞与Kubernetes有关的东东：像什么Kubernetes集群搭建、DNS插件安装和配置、集成Ceph RBD持久卷、Private Registry镜像库访问等，这些都缘于正在开发的一个类PaaS小平台的需要：“平台虽小，五脏俱全”。整个平台由Kubernetes集群承载，对于K8s集群内部的Service来说，目前还欠缺一个服务入口。之前的《Kubernetes集群中的Ng...</description></item><item><title>Kuberize Ceph RBD API服务</title><link>https://tonybai.com/2016/11/21/kuberize-ceph-rbd-api-service/</link><pubDate>Mon, 21 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/21/kuberize-ceph-rbd-api-service/</guid><description>在《使用Ceph RBD为Kubernetes集群提供存储卷》一文中，我们提到：借助Kubernetes和Ceph的集成，Kubernetes可以使用Ceph RBD为集群内的Pod提供Persistent Volume。但这一过程中，RBD所使用的image的创建、删除还需要手动管理，于是我们又基于go-ceph实现了对RBD image的程序化管理，我们的最终目标是要这种对RBD image的...</description></item><item><title>Kubernetes集群中的Nginx配置热更新方案</title><link>https://tonybai.com/2016/11/17/nginx-config-hot-reloading-approach-for-kubernetes-cluster/</link><pubDate>Thu, 17 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/17/nginx-config-hot-reloading-approach-for-kubernetes-cluster/</guid><description>Nginx已经是互联网IT业界一个无敌的存在，作为反向代理、负载均衡、Web服务器等多种角色的扮演者，Nginx在全球各个互联网公司落地、开花和结果，Ngnix已经成为了支撑全球互联网应用的一个不可获取的组成部分。 在我们的平台中，Nginx同样被拿来作为服务接入的最前端的反向代理，并且我们的Nginx也是作为一个Service跑在我们的Kubernetes集群中的。Ngnix背后的服务众多，服务...</description></item><item><title>Kubernetes从Private Registry中拉取容器镜像的方法</title><link>https://tonybai.com/2016/11/16/how-to-pull-images-from-private-registry-on-kubernetes-cluster/</link><pubDate>Wed, 16 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/16/how-to-pull-images-from-private-registry-on-kubernetes-cluster/</guid><description>话接上文，在《使用go-ceph管理Ceph RBD映像》一文中我们提到了，我们需要自建一个ceph rbd api service用于给我的产品控制台提供RESTful API服务接口。这个服务我也是打算放在kubernetes集群中作为一个Service运行的。这两天完成了这个服务开发，并编写完Service的Dockerfile，将镜像build, tag并push到了我们在阿里云的私有镜像...</description></item><item><title>使用Ceph RBD为Kubernetes集群提供存储卷</title><link>https://tonybai.com/2016/11/07/integrate-kubernetes-with-ceph-rbd/</link><pubDate>Mon, 07 Nov 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/11/07/integrate-kubernetes-with-ceph-rbd/</guid><description>一旦走上使用Kubernetes的道路，你就会发现这条路并不好走，充满荆棘。即便你使用Kubernetes建立起的集群规模不大，也是需要“五脏俱全”的，否则你根本无法真正将kubernetes用起来，或者说一个半拉子Kubernetes集群很可能无法满足你要支撑的业务需求。在目前我正在从事的一个产品就是这样，光有K8s还不够，考虑到”有状态服务”的需求，我们还需要给Kubernetes配一个后端存...</description></item><item><title>Kubernetes集群DNS插件安装</title><link>https://tonybai.com/2016/10/23/install-dns-addon-for-k8s/</link><pubDate>Sun, 23 Oct 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/10/23/install-dns-addon-for-k8s/</guid><description>在上一篇关于Kubernetes集群安装的文章中，我们建立一个最小可用的k8s集群，不过k8s与1.12版本后的内置了集群管理的Docker不同，k8s是一组松耦合的组件组合而成对外提供服务的。除了核心组件，其他组件是以Add-on形式提供的，比如集群内kube-DNS、K8s Dashboard等。kube-dns是k8s的重要插件，用于完成集群内部service的注册和发现。随着k8s安装和管...</description></item><item><title>一篇文章带你了解Kubernetes安装</title><link>https://tonybai.com/2016/10/18/learn-how-to-install-kubernetes-on-ubuntu/</link><pubDate>Tue, 18 Oct 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/10/18/learn-how-to-install-kubernetes-on-ubuntu/</guid><description>由于之前在阿里云上部署的Docker 1.12.2的Swarm集群没能正常展示出其所宣称的Routing mesh和VIP等功能，为了满足项目需要，我们只能转向另外一种容器集群管理和服务编排工具Kubernetes。 &amp;gt; _注：之前Docker1.12集群的Routing mesh和VIP功能失效的问题，经过在github上与Docker开发人员的沟通，目前已经将问题原因缩小在阿里云的网络上面，目...</description></item><item><title>Docker 1.12 swarm模式下遇到的各种问题</title><link>https://tonybai.com/2016/10/11/some-problems-under-swarm-mode-in-docker-1-12/</link><pubDate>Tue, 11 Oct 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/10/11/some-problems-under-swarm-mode-in-docker-1-12/</guid><description>前段时间，由于工作上的原因，与Docker的联系发生了几个月的中断^\_^，从10月份开始，工作中又与Docker建立了广泛密切的联系。不过这次，Docker却给我泼了一盆冷水:(。事情的经过请允许多慢慢道来。 经过几年的开发，Docker已经成为轻量级容器领域不二的事实标准，应用范围以及社区都在快速发展和壮大。今年的年中，Docker发布了其里程碑的版本Docker 1.12，该版本最大的变动就...</description></item><item><title>Rancher使用入门</title><link>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</link><pubDate>Thu, 14 Apr 2016 00:00:00 +0800</pubDate><guid>https://tonybai.com/2016/04/14/an-introduction-about-rancher/</guid><description>上个月末，Rancher Labs在其官方博客上宣布了 Rancher 1.0正式版本发布。 这是继Apache Mesos、 Google Kubernetes以及Docker 原生 Swarm 之后，又一个可用于Production环境中的容器管理和服务编排工具，而Rancher恰似这个领域的最后一张拼图（请原谅我的孤陋寡闻，如 果有其他 厂商在做这方面产品，请在评论中留言告诉我）。从Ranc...</description></item></channel></rss>