<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Kubernetes - 标签 - 研发日志 · R&amp;D Log</title><link>https://rd163.visword.com/tags/kubernetes/</link><description>Kubernetes - 标签 - 研发日志 · 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/tags/kubernetes/" 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>dns 基础知识</title><link>https://rd163.visword.com/posts/dns-basic/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/dns-basic/</guid><description><![CDATA[<h2 id="一基础知识" class="headerLink">
    <a href="#%e4%b8%80%e5%9f%ba%e7%a1%80%e7%9f%a5%e8%af%86" class="header-mark"></a>一、基础知识</h2><p><strong>记录类型</strong></p>
<ul>
<li>A 记录：它记录域名与 IPv4 地址的对应关系。目前用的最多的 DNS 记录就是这个。</li>
<li>AAAA 记录：它对应的是 IPv6，可以理解成新一代的 A 记录。以后会用的越来越多的。</li>
<li>NS 记录：记录 DNS 域对应的权威服务器域名，权威服务器域名必须要有对应的 A 记录。通过这个记录，可以将子域名的解析分配给别的 DNS 服务器。</li>
<li>CNAME 记录: 记录域名与另一个域名的对应关系，用于给域名起别名。这个用得也挺多的。</li>
<li>MX 记录：记录域名对应的邮件服务器域名，邮件服务器的域名必须要有对应的 A 记录。</li>
<li>SRV 记录：SRV 记录用于提供服务发现。SRV 记录的内容有固定格式：优先级 权重 端口 目标地址，例如0 5 5060 sipserver.example.com</li>
</ul>
<p><strong>解析方式</strong></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 暴露服务的方式</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><item><title>k8s 本地化安装部署</title><link>https://rd163.visword.com/posts/k8s-local-deploy/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-local-deploy/</guid><description>&lt;p>在学习和开发 Kubernetes(K8s)应用时,先在本地计算机上搭建一个集群用于测试和验证,是最高效的方式之一。官方文档将这些场景归为「学习环境(Learning Environment)」,与「生产环境(Production Environment)」相对。本文梳理四种主流的本地化部署工具,并对比其适用场景。&lt;/p></description></item><item><title>K8s 的一些设计理念</title><link>https://rd163.visword.com/posts/k8s-perspective/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-perspective/</guid><description>&lt;p>分析和理解 Kubernetes 的设计理念，可以使我们更深入地了解整个系统，更好地利用它管理分布式部署的云原生应用;另一方面，也能让我们借鉴其在分布式系统设计方面的经验。&lt;/p></description></item><item><title>K8s 多集群</title><link>https://rd163.visword.com/posts/k8s-multi-cluster/</link><pubDate>Sun, 12 Jan 2025 00:00:00 +0800</pubDate><author><name>小智晖</name></author><guid>https://rd163.visword.com/posts/k8s-multi-cluster/</guid><description><![CDATA[<h2 id="1-为什么需要-k8s-多集群" class="headerLink">
    <a href="#1-%e4%b8%ba%e4%bb%80%e4%b9%88%e9%9c%80%e8%a6%81-k8s-%e5%a4%9a%e9%9b%86%e7%be%a4" class="header-mark"></a>1. 为什么需要 K8s 多集群</h2><p>在讨论方案之前，先厘清概念。所谓 K8s 多集群（Multi-Cluster）,顾名思义就是多个 Kubernetes 集群协同工作。企业或组织可能根据自身需求，出于隔离性、可用性、合规性或使用成本等考虑，将应用运行在一个或多个集群中。在更成熟的形态下，应用实际运行的集群能够动态调度，不同集群间的应用也应支持相互访问。</p>]]></description></item></channel></rss>