麒麟V10 ARM离线部署K8S 1.26.15多主多从集群实战
简介这份资源合集面向需要在国产化平台上落地云原生环境的运维与架构人员聚焦Kylin V10操作系统与ARM架构CPU组合下使用containerd作为容器运行时部署Kubernetes 1.26.15多主多从高可用集群的完整实践。包内共47个文件以gz离线镜像包、rpm系统依赖、sh自动化脚本、conf与service配置文件以及yml/yaml集群清单为主另含kubeadm、kubectl、kubelet等核心二进制与keepalived、kube-lb负载均衡组件压缩包约622MB。资源覆盖etcd集群、控制平面组件、工作节点注册、Calico网络插件及镜像批量导入等关键环节并附带多主加入与节点加入的kubeadm配置模板便于读者在ARM服务器上快速复现高可用集群、理解各组件协作关系与排错思路。目前已有254人学习下载适合具备一定Linux与容器基础、希望掌握非x86平台K8S部署的中高级技术人员参考。1. 麒麟 V10 ARM 上跑 K8S 1.26.15这套离线合集到底解决了谁的痛手里有一批 ARM 服务器系统是麒麟 V10网络还出不了外网这时候让你把 K8S 1.26.15 多主多从集群拉起来你大概率会卡在三个地方ARM 架构的镜像去哪找、containerd 怎么配、kubeadm 初始化时那个the api server is not healthy after 4m0.00747357s到底在报什么。这套资源合集就是冲着这三个问题来的——它不是一份从零讲 K8S 原理的教程而是一个已经按 ARM64 架构把镜像、二进制、配置模板、负载均衡脚本全部打包好的离线部署包。里面有什么k8s-v1.26.15.tar.gz是核心镜像包包含 kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、etcd、coredns、pause、calico 全套组件的 ARM64 镜像cri-containerd-cni-1.7.2-linux-arm64.tar.gz是 containerd 运行时和 CNI 插件的离线包kubeadm-kubectl-kubelet目录下是三个核心二进制kube-lb配合keepalived解决多主节点 API Server 的高可用入口问题kubeadm-first-master.yml、kubeadm-join-master.yml、kubeadm-join-node.yml三个配置文件把初始化、加主、加从三条路径拆开了。适合谁手上已经有麒麟 V10 ARM 环境、需要在内网离线部署 K8S 的运维和平台工程师。如果你还在用 x86 那套习惯去套 ARM镜像架构不对、libseccomp 版本不匹配、IPVS 模块没加载这几个坑基本躲不掉。下面按实际部署顺序拆一遍重点讲清楚每个文件干什么用、参数怎么改、哪里容易翻车。2. 先把 containerd 和运行时底座铺好ARM64 离线包的安装与 systemd 接管K8S 1.26 已经彻底移除了对 Docker Shim 的支持containerd 是默认也是推荐的容器运行时。在 ARM 架构上装 containerd 和 x86 最大的区别在于你没法直接apt install拿到匹配的包必须用cri-containerd-cni-1.7.2-linux-arm64.tar.gz这种预编译好的离线包。这个包里不只是 containerd 本体还带了 runc、CNI 插件bridge、host-local、loopback 等和 cri 工具解压到根目录就能用。2.1 解压离线包并生成默认配置先确认系统架构和内核版本麒麟 V10 在 ARM 上一般是aarch64内核 4.19 或 5.10 都有uname -m # 输出应为 aarch64 uname -r # 确认内核版本4.19 即可然后解压 containerd 离线包。注意这个 tar 包的目录结构是相对于根目录的所以要用-C /tar -xzf cri-containerd-cni-1.7.2-linux-arm64.tar.gz -C / # 解压后 # /usr/local/bin/ 下会有 containerd、containerd-shim-runc-v2、ctr、runc # /opt/cni/bin/ 下会有 CNI 插件 # /etc/cni/net.d/ 下会有默认网络配置验证二进制是否可用containerd --version # 应输出 containerd github.com/containerd/containerd v1.7.2 runc --version # 确认 runc 版本生成 containerd 默认配置文件然后改成 K8S 需要的配置mkdir -p /etc/containerd containerd config default /etc/containerd/config.toml这里有个关键改动默认配置里SystemdCgroup是falseK8S 1.26 配合 systemd 的 cgroup 驱动必须改成true否则 kubelet 启动后会报failed to create pod sandbox之类的错误。同时把 pause 镜像地址改成离线包里的版本sed -i s/SystemdCgroup false/SystemdCgroup true/ /etc/containerd/config.toml sed -i s|sandbox_image .*|sandbox_image registry.k8s.io/pause:3.9| /etc/containerd/config.toml参数说明SystemdCgroup true让 containerd 用 systemd 管理 cgroup和 kubelet 的--cgroup-driversystemd保持一致sandbox_image指向 pause 3.9这个镜像在k8s-v1.26.15.tar.gz里已经包含了后面用ctr导入即可。2.2 配置 systemd 服务并处理 libseccomp 依赖containerd 离线包里没有自带 systemd unit 文件需要手动创建/etc/systemd/system/containerd.service[Unit] Descriptioncontainerd container runtime Documentationhttps://containerd.io Afternetwork.target local-fs.target [Service] ExecStartPre-/sbin/modprobe overlay ExecStart/usr/local/bin/containerd Typenotify Delegateyes KillModeprocess Restartalways RestartSec5 LimitNPROCinfinity LimitCOREinfinity LimitNOFILEinfinity TasksMaxinfinity OOMScoreAdjust-999 [Install] WantedBymulti-user.target这里有个 ARM 上特有的坑麒麟 V10 自带的 libseccomp 版本可能偏低containerd 启动时会报libseccomp.so.2: version LIBSECCOMP_2.5 not found。资源包里带了libseccomp.so.2直接覆盖到/usr/lib64/下即可cp libseccomp.so.2 /usr/lib64/ ldconfig然后启动并设置开机自启systemctl daemon-reload systemctl enable containerd --now systemctl status containerd # 确认 active (running)验证 containerd 的 ctr 命令能正常拉取和列出镜像ctr images ls # 初始为空是正常的 ctr -n k8s.io images ls # K8S 命名空间下的镜像列表提示containerd 的默认命名空间是defaultK8S 用的是k8s.io用ctr导入镜像时一定要加-n k8s.io否则 kubelet 看不到。3. 导入 ARM64 镜像与 kubeadm 初始化多主多从的第一台 master 怎么拉起来镜像导入和 kubeadm 初始化是整个部署里最容易翻车的环节。ARM64 镜像不像 x86 那样随手docker pull就有必须用离线包里的 tar 文件逐个导入。资源包里images目录下已经按组件拆好了kube-apiserver-v1.26.15.tar.gz、kube-controller-manager-v1.26.15.tar.gz、kube-scheduler-v1.26.15.tar.gz、kube-proxy-v1.26.15.tar.gz、etcd-3.5.10-0.tar.gz、coredns-v1.9.3.tar.gz、pause-3.9.tar.gz、calico-cni-v3.26.4.tar.gz、calico-node-v3.26.4.tar.gz、calico-kube-controllers-v3.26.4.tar.gz。3.1 批量导入镜像的脚本逻辑资源包里有个load_images.sh核心逻辑就是遍历目录下的 tar.gz 文件逐个导入到k8s.io命名空间#!/bin/bash # load_images.sh - 批量导入 K8S 组件镜像到 containerd IMAGES_DIR./images for image in ${IMAGES_DIR}/*.tar.gz; do echo Loading ${image} ... ctr -n k8s.io images import ${image} if [ $? -eq 0 ]; then echo OK: ${image} else echo FAIL: ${image} fi done ctr -n k8s.io images ls | grep -E kube|etcd|coredns|calico|pause逻辑说明ctr -n k8s.io images import是 containerd 导入镜像的标准命令-n k8s.io指定命名空间。导入完成后用ctr images ls过滤确认关键组件都在。如果某个镜像导入失败常见原因是 tar 包在传输过程中损坏重新从原始包解压一次即可。参数说明images目录下所有 tar.gz 文件都是docker save或ctr images export导出的 OCI 格式containerd 1.7.2 可以直接识别。导入后镜像的 tag 会保留原始仓库地址比如registry.k8s.io/kube-apiserver:v1.26.15。3.2 kubeadm-first-master.yml 的关键参数第一台 master 的初始化配置文件kubeadm-first-master.yml是整个集群的起点。这个文件里需要重点关注几个字段apiVersion: kubeadm.k8s.io/v1beta3 kind: InitConfiguration localAPIEndpoint: advertiseAddress: 192.168.1.10 # 改成当前 master 节点 IP bindPort: 6443 nodeRegistration: criSocket: unix:///run/containerd/containerd.sock imagePullPolicy: Never # 离线环境必须设为 Never taints: [] --- apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration kubernetesVersion: v1.26.15 imageRepository: registry.k8s.io controlPlaneEndpoint: 192.168.1.100:6443 # 指向 kube-lb 的 VIP networking: podSubnet: 10.244.0.0/16 serviceSubnet: 10.96.0.0/12 dnsDomain: cluster.local etcd: local: dataDir: /var/lib/etcd --- apiVersion: kubelet.config.k8s.io/v1beta1 kind: KubeletConfiguration cgroupDriver: systemd --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs参数说明imagePullPolicy: Never是离线部署的关键告诉 kubelet 只用本地镜像不要尝试去拉取controlPlaneEndpoint指向kube-lb的 VIP 地址多主节点场景下所有 master 的 kube-apiserver 都注册到这个 VIP 后面cgroupDriver: systemd必须和 containerd 的SystemdCgroup true对应mode: ipvs启用 IPVS 代理模式性能比 iptables 好但需要提前加载内核模块。3.3 初始化前的系统准备与 IPVS 模块加载在跑kubeadm init之前有几项系统配置必须做资源包里的op.sh脚本已经把这些操作串好了#!/bin/bash # op.sh - K8S 节点初始化脚本 # 关闭 swap swapoff -a sed -i /swap/s/^/#/ /etc/fstab # 加载内核模块 modprobe br_netfilter modprobe ip_vs modprobe ip_vs_rr modprobe ip_vs_wrr modprobe ip_vs_sh modprobe nf_conntrack # 设置内核参数 cat /etc/sysctl.d/k8s.conf EOF net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 net.ipv4.ip_forward 1 EOF sysctl --system # 安装 IPVS 管理工具资源包 pkgs 目录下已包含 rpm -ivh pkgs/ipvsadm*.rpm pkgs/sysstat*.rpm pkgs/conntrack*.rpm \ pkgs/ebtables*.rpm pkgs/socat*.rpm pkgs/ipset*.rpm逻辑说明br_netfilter和ip_vs系列模块是 IPVS 模式的前提麒麟 V10 默认可能没有加载net.bridge.bridge-nf-call-iptables 1让桥接流量经过 iptables 规则链这是 K8S Service 转发的基础ipvsadm等工具用于后续排查 IPVS 规则。然后安装 kubeadm、kubelet、kubectl 三个二进制cp kubeadm-kubectl-kubelet/kubeadm /usr/local/bin/ cp kubeadm-kubectl-kubelet/kubelet /usr/local/bin/ cp kubeadm-kubectl-kubelet/kubectl /usr/local/bin/ chmod x /usr/local/bin/kubeadm /usr/local/bin/kubelet /usr/local/bin/kubectlkubelet 需要 systemd 管理资源包里带了kubelet.service和10-kubeadm.confcp kubelet.service /etc/systemd/system/ mkdir -p /etc/systemd/system/kubelet.service.d/ cp 10-kubeadm.conf /etc/systemd/system/kubelet.service.d/ systemctl daemon-reload systemctl enable kubelet注意 kubelet 此时先不要 start等kubeadm init跑完会自动拉起。如果提前启动会反复重启报错这是正常现象。3.4 执行初始化并验证第一台 master所有前置条件就绪后执行初始化kubeadm init --configkubeadm-first-master.yml --upload-certs--upload-certs会把证书加密后上传到 etcd后续加 master 节点时用--control-plane和--certificate-key就能自动拉取证书不用手动拷贝。初始化成功后按提示配置 kubectlmkdir -p $HOME/.kube cp /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config kubectl get nodes # 应看到当前 master 节点状态 NotReady因为还没装 CNI如果卡在the api server is not healthy after 4m0.00747357s按这个顺序排查先crictl ps -a看 kube-apiserver 容器是否在运行再crictl logs container_id看具体报错常见原因是 etcd 数据目录权限不对、证书过期、或者 containerd 的SystemdCgroup没改。资源包里test目录下有nginx和busybox两个测试镜像集群起来后可以用来验证 Pod 调度。4. 多主多从的负载均衡与节点加入kube-lb keepalived 怎么配才不翻车单 master 跑通只是第一步多主多从的核心在于 API Server 的高可用入口。资源包里kube-lb是一个轻量级的 TCP 负载均衡器配合keepalived实现 VIP 漂移。kube-lb.conf是它的配置文件kube-lb.service是 systemd 单元。4.1 kube-lb 的配置与启动kube-lb.conf的典型内容如下# kube-lb.conf - API Server 负载均衡配置 listen: 0.0.0.0:6443 backend: - 192.168.1.10:6443 # master-1 - 192.168.1.11:6443 # master-2 - 192.168.1.12:6443 # master-3 mode: tcp log_level: info参数说明listen监听所有网卡的 6443 端口backend列出所有 master 节点的 kube-apiserver 地址mode: tcp是四层转发不做 TLS 终止证书校验由客户端和 apiserver 直接完成。启动 kube-lbcp kube-lb /usr/local/bin/ cp kube-lb.conf /etc/kube-lb/ cp kube-lb.service /etc/systemd/system/ systemctl daemon-reload systemctl enable kube-lb --now systemctl status kube-lb4.2 keepalived 实现 VIP 漂移keepalived的配置在资源包keepalived目录下主备模式# /etc/keepalived/keepalived.conf (master 节点) vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass k8s123 } virtual_ipaddress { 192.168.1.100/24 } }备节点把state改成BACKUPpriority改成 90。virtual_ipaddress就是kubeadm-first-master.yml里controlPlaneEndpoint指向的 VIP。启动 keepalivedcp keepalived /usr/sbin/ cp keepalived.service /etc/systemd/system/ systemctl daemon-reload systemctl enable keepalived --now ip addr show eth0 | grep 192.168.1.100 # 确认 VIP 已绑定4.3 加入第二台 master 和 worker 节点第二台 master 加入集群用kubeadm-join-master.ymlkubeadm join 192.168.1.100:6443 \ --configkubeadm-join-master.yml \ --control-plane \ --certificate-key 从 init 输出中获取的 keykubeadm-join-master.yml里需要改localAPIEndpoint.advertiseAddress为当前节点 IPcontrolPlaneEndpoint保持 VIP 不变。worker 节点加入用kubeadm-join-node.ymlkubeadm join 192.168.1.100:6443 \ --configkubeadm-join-node.ymlkubeadm-join-node.yml里同样要改nodeRegistration.criSocket和imagePullPolicy: Never。加入完成后在 master 上验证kubectl get nodes -o wide # 所有节点应为 Ready kubectl get pods -n kube-system # 确认 calico、coredns、kube-proxy 全部 Running4.4 Calico 网络插件的 ARM64 部署资源包里calico.yaml是 Calico v3.26.4 的部署清单已经适配 ARM64。直接 applykubectl apply -f calico.yaml等 2-3 分钟检查 Calico Pod 状态kubectl get pods -n kube-system -l k8s-appcalico-node kubectl get pods -n kube-system -l k8s-appcalico-kube-controllers如果 calico-node 一直 CrashLoopBackOff常见原因是CALICO_IPV4POOL_CIDR和 kubeadm 的podSubnet不一致。检查calico.yaml里的CALICO_IPV4POOL_CIDR是否为10.244.0.0/16和kubeadm-first-master.yml里的podSubnet保持一致。5. 避坑与排查ARM 麒麟 V10 上最容易翻车的五个点5.1 kube-apiserver 容器起不来报 the api server is not healthy现象kubeadm init卡在the api server is not healthy after 4m0.00747357scrictl ps -a看到 kube-apiserver 容器反复重启。原因麒麟 V10 默认的 libseccomp 版本低于 containerd 1.7.2 的要求或者 etcd 数据目录/var/lib/etcd权限不对。解决先crictl logs container_id看具体报错。如果是 libseccomp 相关用资源包里的libseccomp.so.2覆盖/usr/lib64/后ldconfig如果是 etcd 权限问题chmod 700 /var/lib/etcd并确认目录属主是 root。5.2 calico-node 一直 CrashLoopBackOff现象Calico Pod 启动后不断重启日志报BIRD is not ready或failed to set up IPVS。原因内核模块ip_vs系列没加载或者CALICO_IPV4POOL_CIDR和 kubeadm 的podSubnet不一致。解决modprobe ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh并写入/etc/modules-load.d/检查calico.yaml里的 CIDR 配置确保和kubeadm-first-master.yml的podSubnet一致。5.3 ctr 导入镜像后 kubelet 看不到现象ctr images ls能看到镜像但kubectl describe pod报ErrImageNeverPull。原因导入时没加-n k8s.io镜像进了default命名空间。解决重新用ctr -n k8s.io images import导入或者用ctr -n k8s.io images ls确认镜像在正确的命名空间。5.4 kubelet 启动报 failed to run Kubelet: misconfiguration: kubelet cgroup driver: cgroupfs is different from docker cgroup driver: systemd现象kubelet 服务反复重启日志报 cgroup driver 不匹配。原因containerd 的SystemdCgroup没改成true或者 kubelet 的cgroupDriver没设为systemd。解决确认/etc/containerd/config.toml里SystemdCgroup truekubeadm-first-master.yml里cgroupDriver: systemd然后systemctl restart containerd kubelet。5.5 多主节点加入时证书 key 过期现象kubeadm join --control-plane --certificate-key报certificate key expired。原因--upload-certs上传的证书默认 2 小时过期。解决在 master 上重新生成 keykubeadm init phase upload-certs --upload-certs然后用新 key 加入。6. 集群跑起来之后用 test 镜像验证调度与一个 IPVS 排查技巧集群所有节点 Ready、Calico 和 CoreDNS 都 Running 之后别急着上业务。资源包里test目录下的nginx和busybox两个镜像就是用来做冒烟测试的。先导入ctr -n k8s.io images import test/nginx.tar.gz ctr -n k8s.io images import test/busybox.tar.gz然后跑一个 Deployment 和 Servicekubectl create deployment nginx-test --imagenginx --replicas3 kubectl expose deployment nginx-test --port80 --typeClusterIP kubectl get pods -o wide # 确认 3 个 Pod 分布在不同 worker 节点上用 busybox 验证 Service 的 ClusterIP 能不能通kubectl run busybox-test --imagebusybox --restartNever -- sleep 3600 kubectl exec -it busybox-test -- wget -qO- http://nginx-test # 应返回 nginx 欢迎页 HTML如果 wget 超时大概率是 IPVS 规则没生效。在任意节点上执行ipvsadm -Ln # 查看 IPVS 虚拟服务列表应能看到 nginx-test 的 ClusterIP 和对应 RealServer如果ipvsadm -Ln输出为空说明 kube-proxy 没走 IPVS 模式。检查 kube-proxy 的 ConfigMapkubectl -n kube-system get configmap kube-proxy -o yaml | grep mode # 应输出 mode: ipvs如果显示mode: 说明kubeadm-first-master.yml里的KubeProxyConfiguration没生效。手动改 ConfigMap 后重启 kube-proxykubectl -n kube-system edit configmap kube-proxy # 把 mode: 改成 mode: ipvs kubectl -n kube-system rollout restart daemonset kube-proxy还有一个 ARM 上特有的验证点conntrack表项数量。IPVS 模式下每个 Service 连接都会在 conntrack 表里留记录ARM 服务器的内存带宽和 x86 不同nf_conntrack_max默认值可能偏小。资源包里sysstat和conntrack工具就是用来监控这个的conntrack -C # 查看当前 conntrack 表项数量 sysctl net.netfilter.nf_conntrack_max # 查看最大值ARM 服务器建议调到 131072 以上从那以后我每次在 ARM 上部署完 K8S都会强制走一遍ipvsadm -Lnconntrack -Ckubectl get pods -A -o wide这三条命令确认 IPVS 规则、连接跟踪表和 Pod 分布都正常再交给业务方。这套资源合集把离线镜像、二进制、配置模板和负载均衡脚本都按 ARM64 对齐了省掉了逐个找包和改架构的时间但系统层面的内核模块和 cgroup 配置还是得自己确认一遍。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

C#调用L2CS-Net实现工业级人脸朝向估计

C#调用L2CS-Net实现工业级人脸朝向估计

简介:本资源是一套基于C#与OpenCvSharp实现L2CS-Net人脸朝向估计的完整工程实践方案,面向具备基础C#开发能力及计算机视觉兴趣的中高级开发者,解决实时眼睛注视方向与人脸三维朝向联合估计的技术落地问题,适用于人机交互、注意力分…

2026/10/12 15:02:42 阅读更多 →
KCF目标跟踪算法Python复现:从循环移位到频域相关滤波的工程实践

KCF目标跟踪算法Python复现:从循环移位到频域相关滤波的工程实践

简介:这份压缩包提供KCF(核化相关滤波)目标跟踪算法的Python复现源码,面向计算机视觉初学者、目标跟踪方向研究者,以及希望快速上手相关滤波类算法的开发者。资源共13个文件,以.py源码为核心,辅…

2026/10/12 15:02:42 阅读更多 →
Python图书推荐系统源码解析:协同过滤与文本相似度融合实战

Python图书推荐系统源码解析:协同过滤与文本相似度融合实战

简介:这是一套面向Python初学者与Web开发练手者的图书推荐系统完整源码,基于协同过滤与文本相似度算法实现个性化推荐,适合作为毕业设计、课程设计或推荐算法入门项目。压缩包共1828个文件,以1653张jpg与56张png图片资源、55个htm…

2026/10/12 15:02:42 阅读更多 →

最新新闻

PyCharm配置Git全指南:从路径设置到远程推送避坑

PyCharm配置Git全指南:从路径设置到远程推送避坑

简介:面向使用PyCharm的Python开发者,这份图文教程专门解决IDE内配置Git及日常版本控制操作的问题。内容从Git客户端安装讲起,覆盖PyCharm中Version Control的Git路径配置、克隆远程仓库、比较文件不同版本差异,以及创建与切换分支…

2026/10/12 15:59:19 阅读更多 →
无人机航拍三维重建Python源码实战:COLMAP位姿与NeRF深度图

无人机航拍三维重建Python源码实战:COLMAP位姿与NeRF深度图

简介:本资源面向计算机、人工智能、自动化等专业的在校学生与开发者,提供一套基于无人机航拍数据的三维场景重建完整项目源码,可用于毕业设计、课程大作业或项目初期立项演示。项目围绕多角度地面图像采集、COLMAP位姿估计与Behindthescenes深…

2026/10/12 15:59:19 阅读更多 →
AI数据库集成全文与向量检索:混合召回架构改造实践

AI数据库集成全文与向量检索:混合召回架构改造实践

如果你做过站内搜索、知识库问答,或者正在给 AI 应用做召回管线,一定遇到过这种尴尬:文本检索的逻辑写在业务代码里,向量存储塞进专门的服务,数据同步还得靠一个维护成本不低的管道。几个服务来回倒腾,线上…

2026/10/12 15:59:19 阅读更多 →
AutoLabelImg自动标注工具实战:从预标注到闭环迭代提升数据标注效率

AutoLabelImg自动标注工具实战:从预标注到闭环迭代提升数据标注效率

简介:AutoLabelImg 是一款面向深度学习图像识别场景的自动标注工具包,适合机器学习研究者和开发者快速构建 YOLOv8/v9/v10 与 RT-DETR 等模型训练所需的标注数据集。工具安装部署简单,通过标准 Python 包即可使用,并配有 README 说…

2026/10/12 15:59:19 阅读更多 →
Roo Code代码库索引功能实战:用Tree-sitter+Qdrant搭建语义搜索

Roo Code代码库索引功能实战:用Tree-sitter+Qdrant搭建语义搜索

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 15:59:19 阅读更多 →
3D打印机毕设全流程:从方案选型到建模、电控与论文写作

3D打印机毕设全流程:从方案选型到建模、电控与论文写作

毕设拿到“3D打印机设计”这个题目,很多人的第一反应是兴奋,第二反应是焦虑。兴奋的是这玩意儿看着就硬核,做出来摆在答辩现场自带话题度;焦虑的是它既涉及机械结构设计,又要出CAD图纸和SolidWorks三维图,还…

2026/10/12 15:58:18 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →