<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>K8s - 分类 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/categories/k8s/</link><description>K8s - 分类 - 研发日志 · R&amp;D Log</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>whutluohui@gmail.com (小智晖)</managingEditor><webMaster>whutluohui@gmail.com (小智晖)</webMaster><copyright>本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。</copyright><lastBuildDate>Fri, 09 May 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://rd163.visword.com/categories/k8s/" rel="self" type="application/rss+xml"/><item><title>Kubernetes 优雅停止</title><link>https://rd163.visword.com/posts/k8s-termination-grace/</link><pubDate>Fri, 09 May 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-termination-grace/</guid><description>&lt;p>在 Kubernetes（K8s）中，Pod 的优雅终止是一个有序的过程，旨在确保 Pod 中运行的应用程序能够平滑关闭、释放资源，并尽可能减少因突然关闭带来的数据丢失和服务中断。&lt;/p></description></item><item><title>Kubernetes 渐进式发布</title><link>https://rd163.visword.com/posts/k8s-rollout/</link><pubDate>Wed, 23 Apr 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-rollout/</guid><description><![CDATA[<p>通常渐进式发布主要包括两类：蓝绿发布和金丝雀发布。本文对此做详细介绍，前置背景可参考:</p>
<ul>
<li><a href="https://www.hebye.com/docs/k8s-roll/k8s-roll-1dd4l55dga9d1" target="_blank" rel="noopener noreferrer">k8s 应用更新策略：灰度发布和蓝绿发布</a></li>
</ul>
<h2 id="常规方案" class="headerLink">
    <a href="#%e5%b8%b8%e8%a7%84%e6%96%b9%e6%a1%88" class="header-mark"></a>常规方案</h2><h3 id="蓝绿发布" class="headerLink">
    <a href="#%e8%93%9d%e7%bb%bf%e5%8f%91%e5%b8%83" class="header-mark"></a>蓝绿发布</h3><p>蓝绿部署中一共存在两套系统：一套是正在对外提供服务的系统，标记为「绿色」;另一套是准备发布的系统，标记为「蓝色」。两套系统都是功能完善、可独立运行的系统，只是版本和对外服务状态不同。</p>
<p>当需要用新版本替换线上旧版本时，会在现有系统之外部署一套使用新版本代码的全新系统。此时两套系统并存：继续对外提供服务的旧系统是绿色系统，新部署的系统是蓝色系统。切换时只需把流量入口指向蓝色系统即可完成发布;如需回退，再把流量切回绿色系统。</p>]]></description></item><item><title>Envoy xDS 协议介绍</title><link>https://rd163.visword.com/posts/xds-for-envoy/</link><pubDate>Mon, 24 Mar 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/xds-for-envoy/</guid><description><![CDATA[<p>xDS（Extensible Discovery Service，可扩展发现服务）是 Envoy 代理用来从控制面（Control Plane）获取动态配置的一组 gRPC/REST API 的统称。这里的 &ldquo;x&rdquo; 代表具体的资源类型，例如 Listener、Route、Cluster、Endpoint，分别对应 LDS、RDS、CDS、EDS。借助 xDS，Envoy 能够在不停机、不 reload 的情况下热更新监听器、路由表、上游集群、证书等几乎所有运行期配置，这正是 Istio、Higress 等服务网格与云原生网关实现毫秒级配置生效的底层基础。</p>]]></description></item><item><title>K8s CNI 网络插件</title><link>https://rd163.visword.com/posts/k8s-network-cni/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-network-cni/</guid><description>&lt;p>Kubernetes 的网络模型要求每个 Pod 都拥有独立的 IP，并能在不同节点间互通。CNI（Container Network Interface）便是实现这一模型的标准接口，kubelet 在创建 Pod 时会调用配置好的 CNI 插件来完成网卡与 IP 的分配。下面整理了社区常见的 CNI 插件以及性能测评与选型建议。&lt;/p></description></item><item><title>K8s dns 技术实现原理</title><link>https://rd163.visword.com/posts/k8s-dns-intro/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-dns-intro/</guid><description><![CDATA[<p>K8s 中DNS采用的服务器方案也在不断演变， 早期用的是 kube-dns， 从 1.11 版本开始 默认的dns服务器 由 kube-dns切换到了 coredns。</p>
<p><a href="https://coredns.io/2018/11/27/cluster-dns-coredns-vs-kube-dns/" target="_blank" rel="noopener noreferrer">kube-dns 与 coredns 性能数据对比</a></p>]]></description></item><item><title>K8s Ingress 介绍</title><link>https://rd163.visword.com/posts/k8s-ingress-intro/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-ingress-intro/</guid><description><![CDATA[<p>在 Kubernetes 中，把集群内服务暴露给外部访问有多种方式:<code>ClusterIP</code> 仅集群内可达,<code>NodePort</code> 在每个节点上开一个端口,<code>LoadBalancer</code> 借助云厂商的负载均衡器把流量引入。这些方式都属于四层（L4）入口，但当流量是 HTTP/HTTPS 时，我们往往希望按域名（Host）和 URL 路径（Path）做更精细的路由、统一做 TLS 终止、复用一个公网 IP 对外。<code>Ingress</code> 就是为此而生的七层（L7）资源对象。</p>]]></description></item><item><title>K8s Ingress 控制器</title><link>https://rd163.visword.com/posts/k8s-ingress-controller/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-ingress-controller/</guid><description><![CDATA[<p>Kubernetes 的 <code>Ingress</code> 资源只声明了「外部 HTTP/HTTPS 流量如何路由到集群内的 Service」,它本身不会产生任何转发行为。真正监听 Ingress 变化、把规则翻译成数据面配置、并对外接收流量的程序,就是 <strong>Ingress 控制器(Ingress Controller)</strong>。本文梳理它的工作原理与主流开源实现,并提供一个多维度对比与选型参考。</p>]]></description></item><item><title>K8s Nginx Ingress Controller 简介</title><link>https://rd163.visword.com/posts/k8s-nginx-ingress-controller/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-nginx-ingress-controller/</guid><description>&lt;p>在 Kubernetes 集群中，Ingress 作为集群内服务对外暴露的访问接入点，几乎承载着集群内服务访问的所有流量。&lt;/p>
&lt;p>Ingress 是 Kubernetes 中的一个资源对象，用来管理集群外部访问集群内部服务的方式。通过 Ingress 资源可以配置不同的转发规则，根据 Host、URL 路径等条件，将请求路由到不同 Service 所对应的后端 Pod。&lt;/p></description></item><item><title>k8s 暴露服务的方式</title><link>https://rd163.visword.com/posts/k8s-expose/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-expose/</guid><description><![CDATA[<h2 id="暴露-service-的三种方式" class="headerLink">
    <a href="#%e6%9a%b4%e9%9c%b2-service-%e7%9a%84%e4%b8%89%e7%a7%8d%e6%96%b9%e5%bc%8f" class="header-mark"></a>暴露 Service 的三种方式</h2><p>Kubernetes 中将 Service 暴露给集群外部访问，最常用的有三种类型：NodePort、LoadBalancer 和 Ingress。（ClusterIP 仅在集群内部可达，ExternalName 则通过 DNS CNAME 映射，二者不在本文讨论的对外暴露范围内。）</p>]]></description></item><item><title>K8s 本地安装</title><link>https://rd163.visword.com/posts/k8s-install-locally/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-install-locally/</guid><description>&lt;p>在学习和开发 Kubernetes(K8s)应用时，先在本地计算机上搭建一个集群用于验证，通常是最高效的方式。Kubernetes 官方文档专门将这类场景归为「学习环境（Learning Environment）」,与「生产环境（Production Environment）」相对。本文聚焦「安装」这一动作，给出四种主流本地安装方案的速查命令与关键点。&lt;/p></description></item></channel></rss>