<?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>Kubernetes on Moyrn的技术笔记</title>
    <link>/tags/kubernetes/</link>
    <description>Recent content in Kubernetes on Moyrn的技术笔记</description>
    <generator>Hugo -- 0.128.0</generator>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 20 Mar 2026 19:14:44 +0800</lastBuildDate>
    <atom:link href="/tags/kubernetes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>使用nerdctl</title>
      <link>/posts/20260320_nerdctl/</link>
      <pubDate>Fri, 20 Mar 2026 19:14:44 +0800</pubDate>
      <guid>/posts/20260320_nerdctl/</guid>
      <description> nerdctl pull 镜像时使用代理
containerd 代理配置 root /etc/containerd/certs.d/docker.io/hosts.toml
rootless ~/.config/containerd/certs.d/docker.io/hosts.toml
# 核心：docker.io 镜像重定向到 Harbor 的 /v2/ 接口 server = &amp;#34;https://xx.xx.xx.xx&amp;#34; # 非安全配置（测试环境，生产可删除） [host.&amp;#34;https://xx.xx.xx.xx&amp;#34;] capabilities = [&amp;#34;pull&amp;#34;, &amp;#34;resolve&amp;#34;] harbor 中创建一个 library 仓库，代理到 docker.io buildkit
rootless ~/.config/buildkit/buildkitd.toml [registry.&amp;#34;docker.io&amp;#34;] mirrors = [&amp;#34;https://xx.xx.xx.xx&amp;#34;] [registry.&amp;#34;xx.xx.xx.xx&amp;#34;] http = false insecure = false </description>
    </item>
    <item>
      <title>安装kubernetes</title>
      <link>/posts/20250830_install_k8s/</link>
      <pubDate>Sat, 30 Aug 2025 15:04:45 +0800</pubDate>
      <guid>/posts/20250830_install_k8s/</guid>
      <description>安装 kubernetes https://segmentfault.com/a/1190000044830019
系统配置 关闭 selinux
sed -ri &#39;s/SELINUX=enforcing/SELINUX=disabled/&#39; /etc/selinux/config setenforce 0 &amp;amp;&amp;amp; getenforce cgroupv2
grubby --update-kernel=ALL --args=systemd.unified_cgroup_hierarchy=1 开启 ipforward
vi /etc/sysctl.conf net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 sysctl --system 停止 firewalld
systemctl stop firewalld.service systemctl disable firewalld.service 关闭 swap 分区
swapoff -a &amp;amp;&amp;amp; sysctl -w vm.swappiness=0 sed -ri &#39;/^[^#]*swap/s@^@#@&#39; /etc/fstab 安装 ipvsadm
yum install ipvsadm ipset sysstat conntrack libseccomp -y 加载内核模块
modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack modprobe -- br_netfilter modprobe -- iscsi_tcp 配置 kubernetes.</description>
    </item>
    <item>
      <title>Deployment 水平扩容和滚动更新</title>
      <link>/posts/20210213_rollout_uptodate/</link>
      <pubDate>Sat, 13 Feb 2021 22:38:54 +0800</pubDate>
      <guid>/posts/20210213_rollout_uptodate/</guid>
      <description>概念 Deployment 所管理的 Pod 的 ownerReference 就是 ReplicaSet
Deployment 会拥有多个ReplicaSet, 不同的 ReplicaSet 代表不同的版本
关系图 Deployment 状态字段
DESIRED：用户期望的 Pod 副本个数（spec.replicas 的值）； CURRENT：当前处于 Running 状态的 Pod 的个数； UP-TO-DATE：当前处于最新版本的 Pod 的个数，所谓最新版本指的是 Pod 的 Spec 部分与 Deployment 里 Pod 模板里定义的完全一致； AVAILABLE：当前已经可用的 Pod 的个数，即：既是 Running 状态，又是最新版本，并且已经处于 Ready（健康检查正确）状态的 Pod 的个数。 ReplicaSet 状态字段 DESIRED、CURRENT 和 READY，与 Deployment 一致，Deployment 仅多出 UP-TO-DATE 状态
滚动更新 RollingUpdateStrategy 在“滚动更新”的过程中永远都会确保至少有 2 个 Pod 处于可用状态，至多只有 4 个 Pod 同时存在于集群中 旧版本RS的Pod数量递减，新版本RS的Pod数量递增
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deployment labels: app: nginx spec: .</description>
    </item>
    <item>
      <title>Pod 对象</title>
      <link>/posts/20210212_pod_project/</link>
      <pubDate>Fri, 12 Feb 2021 15:07:14 +0800</pubDate>
      <guid>/posts/20210212_pod_project/</guid>
      <description>Volume Projected Volume 将预先设置好的数据投射到容器中， Secret volumes: - name: mysql-cred projected: sources: - secret: name: user - secret: name: pass - ConfigMap - DownwardAPI - ServiceAccountToken restartPolicy livenessProbe 只要 Pod 的 restartPolicy 指定的策略允许重启异常的容器（比如：Always），那么这个 Pod 就会保持 Running 状态，并进行容器重启。否则，Pod 就会进入 Failed 状态 。
对于包含多个容器的 Pod，只有它里面所有的容器都进入异常状态后，Pod 才会进入 Failed 状态。在此之前，Pod 都是 Running 状态。此时，Pod 的 READY 字段会显示正常容器的个数，比如：
$ kubectl get pod test-liveness-exec NAME READY STATUS RESTARTS AGE liveness-exec 0/1 Running 1 1m livenessProbe HTTP Or TCP, 多用于Web服务健康检查, Web服务中暴露出健康检查URL</description>
    </item>
    <item>
      <title>Kubeadm 搭建K8s集群</title>
      <link>/posts/20210207_kubeadm_start/</link>
      <pubDate>Sun, 07 Feb 2021 13:56:54 +0800</pubDate>
      <guid>/posts/20210207_kubeadm_start/</guid>
      <description>前置操作 (每台机器上都需要操作) 使用系统 Centos 7 cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 关闭防火墙 systemctl stop firewalld &amp;amp;&amp;amp; systemctl disable firewalld 禁用SELINUX vim /etc/selinux/config # 或者修改/etc/sysconfig/selinux SELINUX=disabled [注意] 开启 IP 路由转发和 NAT # https://ccie.lol/knowledge-base/linux-centos-route-forwarding/ # 不开启会导致 Pod 无法链接外网以及 Pod 间无法通信的问题. [root@host ~]# echo &amp;#34;net.ipv4.ip_forward = 1&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf [root@host ~]# sysctl -p [root@host ~]# sysctl -a | grep &amp;#34;ip_forward&amp;#34; net.ipv4.ip_forward = 1 # 开启NAT [root@host ~]# iptables -P FORWARD ACCEPT # 缺省允许 IP 转发 # 利用 iptables 实现 NAT MASQUERADE 共享上网，此处 eth0 需要是能够访问外部网络的网卡接口 [root@host ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 修改 k8s.</description>
    </item>
    <item>
      <title>Kubernetes入门-基础</title>
      <link>/posts/20210206_before_start/</link>
      <pubDate>Sat, 06 Feb 2021 10:13:46 +0800</pubDate>
      <guid>/posts/20210206_before_start/</guid>
      <description>网络设置
# https://ccie.lol/knowledge-base/linux-centos-route-forwarding/ # 注意事项 开启 IP 路由转发和 NAT, 未开启会导致 Pod 无法访问外网以及 Pod 间无法通信. [root@host ~]# echo &amp;#34;net.ipv4.ip_forward = 1&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf [root@host ~]# sysctl -p [root@host ~]# sysctl -a | grep &amp;#34;ip_forward&amp;#34; net.ipv4.ip_forward = 1 # 开启NAT [root@host ~]# iptables -P FORWARD ACCEPT # 缺省允许 IP 转发 # 利用 iptables 实现 NAT MASQUERADE 共享上网，此处 eth0 需要是能够访问外部网络的网卡接口 [root@host ~]# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE CPU</description>
    </item>
  </channel>
</rss>
