<?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>安装部署 on 维克的博客</title><link>https://blogs.wuvikr.top/tags/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/</link><description>Recent content in 安装部署 on 维克的博客</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 22 Oct 2026 10:02:12 +0800</lastBuildDate><atom:link href="https://blogs.wuvikr.top/tags/%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/index.xml" rel="self" type="application/rss+xml"/><item><title>GitLab CICD 入门指南</title><link>https://blogs.wuvikr.top/posts/gitlab-cicd-%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/</link><pubDate>Thu, 22 Oct 2026 10:02:12 +0800</pubDate><guid>https://blogs.wuvikr.top/posts/gitlab-cicd-%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8/</guid><description>&lt;h1 id="1-简介">1. 简介&lt;/h1>
&lt;h2 id="11-gitlab-cicd-是什么">1.1 GitLab CI/CD 是什么？&lt;/h2>
&lt;p>GitLab CI/CD 可以理解为：GitLab 内置的持续集成 / 持续交付引擎。代码提交、合并请求、打标签或定时触发后，GitLab 会根据项目里的 &lt;code>.gitlab-ci.yml&lt;/code> 生成流水线，再交给 GitLab Runner 去执行构建、测试、扫描、打包、部署等任务。&lt;/p>
&lt;p>它的整体架构可以分成三层：&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align: center">&lt;strong>层级&lt;/strong>&lt;/th>
&lt;th style="text-align: center">&lt;strong>组件&lt;/strong>&lt;/th>
&lt;th style="text-align: center">&lt;strong>作用&lt;/strong>&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align: center">控制层&lt;/td>
&lt;td style="text-align: center">GitLab Server&lt;/td>
&lt;td style="text-align: center">解析 &lt;code>.gitlab-ci.yml&lt;/code>，生成 Pipeline，分发 Job，展示结果&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: center">执行层&lt;/td>
&lt;td style="text-align: center">GitLab Runner&lt;/td>
&lt;td style="text-align: center">从 GitLab 拉取任务，执行脚本，回传日志和产物&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align: center">环境层&lt;/td>
&lt;td style="text-align: center">Executor&lt;/td>
&lt;td style="text-align: center">决定 Job 跑在哪里，比如 Docker、Kubernetes、Shell、SSH 等&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>一个典型的 Gitlab CICD 执行链路如下所示：&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plaintext" data-lang="plaintext">&lt;span style="display:flex;">&lt;span>开发者 push 代码或创建 MR，触发流水线
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>GitLab 读取仓库里的 .gitlab-ci.yml，生成 Pipeline 流水线作业
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Runner 轮询到待执行的任务，领取 Job
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>Job 的 Tag 会和 Executor 的 Tag 进行匹配，匹配成功后，Executor 去执行 Job
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ↓
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>执行完成后，日志、制品、状态回传到 GitLab，在页面上可以查看结果
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="12-如何定义流水线">1.2 如何定义流水线？&lt;/h2>
&lt;p>一个流水线本质上由两个核心概念构成：&lt;/p></description></item><item><title>Kubespray 部署和维护 K8s 集群指南</title><link>https://blogs.wuvikr.top/posts/kubespray%E9%83%A8%E7%BD%B2%E5%92%8C%E7%BB%B4%E6%8A%A4k8s%E9%9B%86%E7%BE%A4%E6%8C%87%E5%8D%97/</link><pubDate>Fri, 09 Oct 2026 11:34:13 +0800</pubDate><guid>https://blogs.wuvikr.top/posts/kubespray%E9%83%A8%E7%BD%B2%E5%92%8C%E7%BB%B4%E6%8A%A4k8s%E9%9B%86%E7%BE%A4%E6%8C%87%E5%8D%97/</guid><description>&lt;h1 id="1-简介">1. 简介&lt;/h1>
&lt;p>Kubespray 是 Kubernetes SIGs 官方维护的部署项目，本质是一套经过大量生产环境验证的 Ansible Playbook、Inventory 模板和角色集合。它不发明新的集群模型，而是把 kubeadm 引导、etcd 集群组建、CNI 安装、证书轮换、节点扩缩容与升级这些容易出错的步骤固化为可重复执行的代码。&lt;/p>
&lt;h2 id="11-kubespray-解决了什么问题">1.1 Kubespray 解决了什么问题&lt;/h2>
&lt;p>手动搭一个生产集群的工作量并不仅仅只是简单把 K8s 集群跑起来，而在于：&lt;/p>
&lt;ul>
&lt;li>etcd 节点集群的证书、成员管理、快照备份；&lt;/li>
&lt;li>多控制平面节点下 apiserver 的负载均衡与前端证书 SAN；&lt;/li>
&lt;li>kubelet 配置（cgroup 驱动、预留资源、镜像垃圾回收、最大 Pod 数）；&lt;/li>
&lt;li>CNI 插件与内核网络参数、iptables/nftables 后端的匹配；&lt;/li>
&lt;li>证书到期轮换、跨小版本顺序升级、节点下线清理。&lt;/li>
&lt;/ul>
&lt;p>这些工作做一次可以靠文档，做十次就得靠自动化。Kubespray 的价值就在于它把这些工程细节沉淀成了一套&lt;strong>符合生产环境最佳实践的可重复执行代码&lt;/strong>，你只需要在默认值的基础上少量改动，而不是自己编写和维护大量的脚本。&lt;/p>
&lt;h2 id="12-和其他工具对比">1.2 和其他工具对比&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>工具&lt;/th>
&lt;th>Kubespray&lt;/th>
&lt;th>kubeadm&lt;/th>
&lt;th>Rancher&lt;/th>
&lt;th>OpenShift(OKD)&lt;/th>
&lt;th>kops&lt;/th>
&lt;th>KubeKey(kk)&lt;/th>
&lt;th>k3s&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>核心定位&lt;/strong>&lt;/td>
&lt;td>Ansible驱动，生产级离线部署K8s集群&lt;/td>
&lt;td>K8s官方最小化集群引导工具&lt;/td>
&lt;td>企业级K8s全生命周期管理平台&lt;/td>
&lt;td>红帽出品，基于K8s的企业容器平台&lt;/td>
&lt;td>AWS专用K8s集群部署工具&lt;/td>
&lt;td>KubeSphere社区开源部署工具，中文友好&lt;/td>
&lt;td>Rancher出品轻量K8s发行版&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>底层引擎&lt;/strong>&lt;/td>
&lt;td>Ansible&lt;/td>
&lt;td>Go原生二进制&lt;/td>
&lt;td>容器+WebUI&lt;/td>
&lt;td>容器/Operator&lt;/td>
&lt;td>Go，调用AWS API&lt;/td>
&lt;td>Go二进制，封装kubeadm&lt;/td>
&lt;td>裁剪K8s单二进制&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>适用环境&lt;/strong>&lt;/td>
&lt;td>裸金属、VMware、私有云、离线环境&lt;/td>
&lt;td>裸金属/虚拟机/云主机，在线为主&lt;/td>
&lt;td>公有云、私有云、边缘，多集群统一管理&lt;/td>
&lt;td>企业私有/混合云，偏向生产企业&lt;/td>
&lt;td>&lt;strong>仅限AWS&lt;/strong>公有云&lt;/td>
&lt;td>裸机/虚拟机，私有化离线场景&lt;/td>
&lt;td>低配服务器、边缘、开发/小生产&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>离线部署&lt;/strong>&lt;/td>
&lt;td>✅ 完美支持，可打包离线介质&lt;/td>
&lt;td>⚠️ 支持但麻烦，需要手动下载镜像/二进制&lt;/td>
&lt;td>✅ 支持离线airgap安装&lt;/td>
&lt;td>✅ 官方提供离线方案&lt;/td>
&lt;td>❌ 依赖AWS云API，不适合离线&lt;/td>
&lt;td>✅原生支持打包离线包&lt;/td>
&lt;td>✅离线包&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>集群维护&lt;/strong>&lt;/td>
&lt;td>Ansible playbook升级、扩容、替换节点；版本升级稳定&lt;/td>
&lt;td>仅引导集群，&lt;strong>不负责后续集群运维&lt;/strong>，升级操作繁琐&lt;/td>
&lt;td>Web界面一键升级、扩缩容，多集群统一监控告警&lt;/td>
&lt;td>Operator管理集群，自动化运维能力强&lt;/td>
&lt;td>集群升级、节点替换由kops命令管理&lt;/td>
&lt;td>一键HA、扩容升级，可配套KubeSphere控制台&lt;/td>
&lt;td>一行命令运维，嵌入式etcd HA&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>高可用&lt;/strong>&lt;/td>
&lt;td>✅ 内置etcd三副本、控制面HA方案&lt;/td>
&lt;td>需要手动搭建HA（负载均衡+多master）&lt;/td>
&lt;td>✅ 自动支持HA，内置负载均衡方案&lt;/td>
&lt;td>✅ 默认HA架构&lt;/td>
&lt;td>✅ AWS上自动搭建控制面HA&lt;/td>
&lt;td>✅一键HA，内置负载均衡&lt;/td>
&lt;td>✅内置HA（嵌入式etcd）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>网络插件&lt;/strong>&lt;/td>
&lt;td>内置Calico/Flannel/Cilium等多种CNI可选&lt;/td>
&lt;td>仅提供基础CNI对接，需自行部署CNI&lt;/td>
&lt;td>内置多种CNI，UI可视化配置&lt;/td>
&lt;td>默认OVN-Kubernetes，也可Calico&lt;/td>
&lt;td>默认Calico，可自定义CNI&lt;/td>
&lt;td>Calico等CNI可选&lt;/td>
&lt;td>Flannel默认，支持替换CNI&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>存储支持&lt;/strong>&lt;/td>
&lt;td>对接本地卷、Ceph、Longhorn等，ansible角色集成&lt;/td>
&lt;td>仅提供CSI标准，存储需要自己部署&lt;/td>
&lt;td>内置存储管理，支持Longhorn等&lt;/td>
&lt;td>内置CSI+本地存储方案&lt;/td>
&lt;td>对接AWS EBS等云存储&lt;/td>
&lt;td>对接Longhorn、Ceph、本地存储&lt;/td>
&lt;td>支持本地存储、CSI&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>版本适配&lt;/strong>&lt;/td>
&lt;td>紧跟K8s社区版本，滞后一小段时间&lt;/td>
&lt;td>K8s官方同步发布&lt;/td>
&lt;td>支持多K8s版本，统一纳管不同版本集群&lt;/td>
&lt;td>OKD版本独立，和上游K8s有差异&lt;/td>
&lt;td>紧跟AWS支持的K8s版本&lt;/td>
&lt;td>跟随上游kubeadm&lt;/td>
&lt;td>Rancher维护稳定版本&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>学习成本&lt;/strong>&lt;/td>
&lt;td>中等，需要懂Ansible&lt;/td>
&lt;td>低，上手简单，适合测试集群&lt;/td>
&lt;td>低，WebUI友好，运维门槛低&lt;/td>
&lt;td>高，体系庞大，有专属概念&lt;/td>
&lt;td>中等，熟悉AWS即可快速上手&lt;/td>
&lt;td>中等，中文文档友好&lt;/td>
&lt;td>很低，上手极快&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>典型场景&lt;/strong>&lt;/td>
&lt;td>裸金属机房、私有化项目、需要批量部署大量集群、等保离线环境&lt;/td>
&lt;td>实验室、POC测试、小规模简单集群&lt;/td>
&lt;td>多集群管理、混合云、需要统一权限/审计的企业&lt;/td>
&lt;td>大型企业生产环境，需要完整容器安全、合规能力&lt;/td>
&lt;td>AWS云上快速搭建销毁K8s集群&lt;/td>
&lt;td>中小企业裸机/VM离线部署，可选KubeSphere控制台&lt;/td>
&lt;td>资源有限、边缘、小生产集群&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>缺点&lt;/strong>&lt;/td>
&lt;td>Ansible串行执行，大规模集群部署慢；无WebUI；故障排查需要Ansible基础&lt;/td>
&lt;td>没有集群生命周期管理，生产HA搭建工作量大；缺少监控日志等附加组件&lt;/td>
&lt;td>资源开销大；底层K8s被封装，深度定制复杂；商业版收费&lt;/td>
&lt;td>闭源企业版昂贵；架构重，资源消耗高；学习曲线陡峭&lt;/td>
&lt;td>只能跑在AWS，无法裸金属/其他云使用&lt;/td>
&lt;td>依赖kubeadm；底层封装，深度排障需要kubeadm知识；KubeSphere额外耗资源&lt;/td>
&lt;td>裁剪部分组件，重型大规模生产不推荐；和标准K8s有细微差异&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>国内中小企业热度&lt;/strong>&lt;/td>
&lt;td>⭐⭐⭐ 更多集成商使用，中小企业自用偏少&lt;/td>
&lt;td>⭐⭐⭐⭐⭐ 最高，几乎所有运维都学这个&lt;/td>
&lt;td>⭐⭐⭐⭐ 多集群场景热门&lt;/td>
&lt;td>⭐⭐ 大型企业为主，中小企业很少用&lt;/td>
&lt;td>⭐ 国内几乎不用&lt;/td>
&lt;td>⭐⭐⭐⭐ 私有化中小企业热门&lt;/td>
&lt;td>⭐⭐⭐⭐ 小集群/边缘场景热门&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h1 id="2-底层架构和设计">2. 底层架构和设计&lt;/h1>
&lt;p>&lt;strong>关键核心设计&lt;/strong>：&lt;/p></description></item><item><title>Kubeadm 部署高可用 K8s 集群</title><link>https://blogs.wuvikr.top/posts/kubeadm%E9%83%A8%E7%BD%B2%E9%AB%98%E5%8F%AF%E7%94%A8k8s%E9%9B%86%E7%BE%A4/</link><pubDate>Wed, 09 Sep 2026 10:54:51 +0800</pubDate><guid>https://blogs.wuvikr.top/posts/kubeadm%E9%83%A8%E7%BD%B2%E9%AB%98%E5%8F%AF%E7%94%A8k8s%E9%9B%86%E7%BE%A4/</guid><description>&lt;p>&lt;a href="https://kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/">kubeadm 安装官方文档&lt;/a>&lt;/p>
&lt;h1 id="0-引言">0. 引言&lt;/h1>
&lt;p>Kubernetes 高可用架构的核心在于保障 API Server 的访问连续性与 etcd 的数据可靠性。通常通过部署多 Master 节点并前置负载均衡来实现，本方案采用 &lt;code>kube-vip&lt;/code> 承担此角色。为节省资源，本文将负载均衡与 etcd 集群复用部署于 Master 节点；&lt;strong>生产环境请务必将其独立部署，以确保集群稳定性。&lt;/strong>&lt;/p>
&lt;p>本文基于 Ubuntu 24.04 环境编写。若使用其他 Linux 发行版，请根据实际情况自行调整相关命令。&lt;/p>
&lt;hr>
&lt;h1 id="1-环境架构">1. 环境架构&lt;/h1>
&lt;h2 id="11-角色划分">1.1 角色划分&lt;/h2>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>主机名&lt;/th>
&lt;th style="text-align: center">IP&lt;/th>
&lt;th style="text-align: center">角色&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>master01&lt;/td>
&lt;td style="text-align: center">192.168.69.11&lt;/td>
&lt;td style="text-align: center">master01、Etcd-node01、kube-vip 节点&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>master02&lt;/td>
&lt;td style="text-align: center">192.168.69.12&lt;/td>
&lt;td style="text-align: center">master02、Etcd-node02、kube-vip 节点&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>master03&lt;/td>
&lt;td style="text-align: center">192.168.69.13&lt;/td>
&lt;td style="text-align: center">master03、Etcd-node03、kube-vip 节点&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>worker01&lt;/td>
&lt;td style="text-align: center">192.168.69.21&lt;/td>
&lt;td style="text-align: center">worker01&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>worker02&lt;/td>
&lt;td style="text-align: center">192.168.69.22&lt;/td>
&lt;td style="text-align: center">worker02&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>worker03&lt;/td>
&lt;td style="text-align: center">192.168.69.23&lt;/td>
&lt;td style="text-align: center">worker03&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>虚拟IP&lt;/td>
&lt;td style="text-align: center">10.0.0.100&lt;/td>
&lt;td style="text-align: center">kube-vip 提供&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="12-拓扑图">1.2 拓扑图&lt;/h2>
&lt;p>&lt;img alt="k8s集群架构拓扑" loading="lazy" src="https://blogs.wuvikr.top/posts/kubeadm%E9%83%A8%E7%BD%B2%E9%AB%98%E5%8F%AF%E7%94%A8k8s%E9%9B%86%E7%BE%A4/%E6%8B%93%E6%89%91%E5%9B%BE.png">&lt;/p>
&lt;hr>
&lt;h1 id="2-操作系统初始化">2. 操作系统初始化&lt;/h1>
&lt;h2 id="21-linux-基础配置">2.1 Linux 基础配置&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 关闭防火墙&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ufw disable
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 关闭 swap&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>swapoff -a &lt;span style="color:#f92672">&amp;amp;&amp;amp;&lt;/span> sysctl -w vm.swappiness&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sed -ri &lt;span style="color:#e6db74">&amp;#39;s/.*swap.*/#&amp;amp;/&amp;#39;&lt;/span> /etc/fstab
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 配置主机名和 hosts&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hostnamectl set-hostname &amp;lt;hostname&amp;gt;
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &amp;gt;&amp;gt; /etc/hosts &lt;span style="color:#e6db74">&amp;lt;&amp;lt; EOF
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.11 master01.wuvikr.top master01
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.12 master02.wuvikr.top master02
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.13 master03.wuvikr.top master03
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.21 worker01.wuvikr.top worker01
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.22 worker02.wuvikr.top worker02
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.23 worker03.wuvikr.top worker03
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">192.168.69.100 kubeapi.wuvikr.top kubeapi
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">EOF&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 配置 limit&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ulimit -SHn &lt;span style="color:#ae81ff">65535&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 持久化 limit 配置（重新登录后生效）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &amp;gt;&amp;gt; /etc/security/limits.conf &lt;span style="color:#e6db74">&amp;lt;&amp;lt; EOF
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* soft nofile 65536
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* hard nofile 131072
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* soft nproc 65535
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* hard nproc 655350
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* soft memlock unlimited
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* hard memlock unlimited
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* soft core unlimited
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">* hard core unlimited
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">EOF&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="22-时间同步">2.2 时间同步&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 同步硬件时钟到系统时间（虚拟机环境中可选）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hwclock -s
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 设置时区（推荐方式，一步完成）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>timedatectl set-timezone Asia/Shanghai
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 确保时间同步服务已启用（Ubuntu 24.04 默认已启用）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>systemctl enable --now systemd-timesyncd
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查看时间同步状态&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>timedatectl status
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;blockquote>
&lt;p>Ubuntu 24.04 内置的 &lt;code>systemd-timesyncd&lt;/code> 提供轻量级 NTP 客户端功能，支持自动同步、漂移补偿和状态查询。如需更高精度的时间同步（如金融、日志审计场景），建议改用 &lt;code>chrony&lt;/code> 替代 &lt;code>systemd-timesyncd&lt;/code>。&lt;/p></description></item></channel></rss>