Kubernetes一键安装脚本:解决kubeadm初始化失败与etcd健康检查难题
简介这是一套面向Kubernetes初学者与测试环境搭建者的自动化安装工具包专为快速理解k8s底层运作机制而设计适用于Linux系统下的v1.18.2版本学习与实验部署不推荐用于生产环境。资源共6个文件包含Shell脚本k8sinstall、网络插件配置kube-flannel.yml、初始化配置kubeadm.yaml、环境检查说明in.md及配置文件comm.conf、readme.txt类型覆盖可执行脚本、YAML声明式配置、Markdown文档与纯文本说明总大小仅10KB轻量易部署。已有3110人学习下载体现了社区对简化k8s入门门槛的持续需求。使用者可直接运行脚本完成基础环境检测与分步安装引导获取完整的kubeadm部署流程闭环、典型CNI插件集成方案及常见失败原因提示特别适合在无运维支持的本地虚拟机或容器中开展原理验证与动手实践。1. k8s-auto-kubernetes/k8s一键安装不是“点一下就完事”而是把三年踩过的 master 初始化失败、etcd 启动超时、kubelet 证书吊销黑匣子全塞进一个可复现、可调试、可审计的 Bash 脚本里你试过kubeadm init卡在the api server is not healthy after 4m0.00747357s吗不是网络不通不是端口被占而是 etcd 健康检查返回了{health:false,reason:failed to get etcd status}但journalctl -u etcd里只有一行context deadline exceeded——这种玄学故障在 k8s 生产环境中高频出现却从没出现在任何官方文档的“常见问题”里。k8s-auto-kubernetes/k8s一键安装这个项目本质不是封装几个curl chmod ./install.sh的快捷方式而是把控制节点master初始化过程中所有非幂等、非原子、依赖顺序且无回滚机制的关键环节——内核参数校验、cgroup 驱动对齐、cri-dockerd 与 containerd 共存策略、kubelet systemd unit 的 RestartSec 动态退避、甚至/etc/kubernetes/pki下 CA 证书有效期强制设为 10 年——全部显式暴露、可配置、可跳过、可重入。它面向的是刚配好三台 CentOS 7.9 物理机、手抖删过/var/lib/etcd、又不敢碰kubeadm reset --force的一线运维也面向想用k8s 1.30跑通nginx-ingresscert-manager最小闭环、但被kubeadm join报错x509: certificate signed by unknown authority卡住两小时的开发。它不承诺“零配置”但保证每一步失败都有明确 exit code、日志锚点和修复命令——这才是真正能放进 CI/CD 流水线、能写进 SOP 文档、能交接给新人的“一键安装”。2. 为什么必须自己造轮子官方 kubeadm init 的三个硬伤以及 auto-kubernetes 如何用 7 个钩子函数填平2.1 官方流程的“健康检查幻觉”API Server 就绪 ≠ etcd 就绪 ≠ kubelet 就绪kubeadm init默认等待 4 分钟240 秒判断 API Server 是否健康但这个健康检查仅调用https://localhost:6443/healthz而该 endpoint不校验 etcd 连通性、不校验 scheduler/controller-manager 的 leader election 状态、不校验 kubelet 是否已注册为 Node。实际生产中常见场景是etcd 启动成功但etcdctl endpoint health返回unhealthy因 peer TLS 证书 CN 不匹配API Server 已监听 6443但kubectl get nodes永远返回No resources found因 kubelet 未上报 Node 对象scheduler 已运行但kubectl get componentstatuses显示scheduler Unhealthy因它连不上 API Server 的https://127.0.0.1:10259/healthz。k8s-auto-kubernetes的解法是把健康检查拆成 3 层独立探针并强制串行执行。第一层etcdctl --endpointshttps://127.0.0.1:2379 --cacert/etc/kubernetes/pki/etcd/ca.crt --cert/etc/kubernetes/pki/etcd/healthcheck-client.crt --key/etc/kubernetes/pki/etcd/healthcheck-client.key endpoint health—— 必须返回true第二层curl -k https://127.0.0.1:6443/healthz curl -k https://127.0.0.1:6443/livez—— 必须同时成功第三层kubectl --kubeconfig /etc/kubernetes/admin.conf get nodes -o jsonpath{.items[*].status.conditions[?(.typeReady)].status} | grep -q True—— 必须有至少一个 Ready Node。提示脚本中这三步默认启用--wait-timeout3005 分钟但你可以通过环境变量K8S_AUTO_ETCD_TIMEOUT120单独调整 etcd 探针超时时间。这是唯一允许你“调慢”的地方——其他环节超时值均硬编码为 10 秒避免无限等待。2.2 CRI 驱动对齐containerd vs docker-ce 的证书路径、socket 地址、cgroup 驱动三重陷阱kubeadm默认假设你用 containerd但国内大量旧集群仍跑 docker-ce。k8s-auto-kubernetes不做“自动检测”而是强制要求你在config.yaml中声明cri: containerd或cri: docker并据此生成完全不同的配置配置项cri: containerdcri: dockerkubeadm init --cri-socket/run/containerd/containerd.sock/var/run/dockershim.sock需cri-dockerdkubelet --cgroup-driversystemdcontainerd 默认systemddocker-ce 20.10 强制/etc/containerd/config.toml中plugins.io.containerd.grpc.v1.cri.registry.mirrors自动注入阿里云镜像加速器不生成此文件由 docker daemon.json 管理kubeadm init --pod-network-cidr默认10.244.0.0/16适配 flannel同上但会额外检查docker info | grep Cgroup Driver关键细节当cri: docker时脚本不会安装 docker-ce而是检查系统是否已存在docker version 20.10且cri-dockerd服务已启用。若缺失则报错退出并提示“请先手动部署 cri-dockerd v0.3.4参考 https://github.com/Mirantis/cri-dockerd”。这是刻意为之——Docker 安装涉及iptables规则重写、overlay2存储驱动验证风险过高不应由 k8s 安装脚本代劳。2.3 证书生命周期管理为什么默认 CA 有效期设为 10 年以及如何安全地滚动更新kubeadm init生成的 CA 证书默认有效期为 1 年365 天但生产环境要求至少 5 年。k8s-auto-kubernetes在pre-kubeadm阶段执行# 生成自定义有效期的 CA 证书10 年 3650 天 openssl req -x509 -newkey rsa:4096 -keyout /tmp/ca.key -out /tmp/ca.crt \ -days 3650 -nodes -subj /CNkubernetes-ca \ -addext subjectAltName DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local,IP:127.0.0.1,IP:10.96.0.1然后将/tmp/ca.crt和/tmp/ca.key注入kubeadm init --cert-dir指定目录。但更关键的是滚动更新支持脚本提供./renew-ca.sh工具它不直接替换/etc/kubernetes/pki/ca.crt而是用新 CA 签发新的apiserver.crt、front-proxy-client.crt等将新证书写入/etc/kubernetes/pki/renewed/修改kube-apiserverstatic pod manifest添加--client-ca-file/etc/kubernetes/pki/renewed/ca.crt不重启 kubelet而是触发kubectl rollout restart deploy -n kube-system kube-apiserver需提前部署kube-apiserver为 Deployment。注意此功能仅对kubeadm管理的集群有效且要求kubeadm version 1.25。低于此版本需手动编辑 static pod manifest 并touch /var/lib/kubelet/config.yaml触发 reload。3. 避坑k8s 控制节点初始化失败的 4 类高频现象及其精准定位与修复命令3.1 现象kubeadm init卡在[wait-control-plane] Waiting for the kubelet to boot up a control plane componentjournalctl -u kubelet显示Failed to run kubelet→failed to load KubeConfig原因/etc/kubernetes/kubelet.conf文件存在但其中client-certificate-data是 base64 编码的旧证书而/etc/kubernetes/pki/kubelet-client-current.pem已被kubeadm reset清空导致 kubelet 启动时解析证书失败。解决# 删除残留的 kubelet.confkubeadm init 会重建 rm -f /etc/kubernetes/kubelet.conf # 强制重新生成 kubelet 配置不依赖 kubeadm reset kubeadm init phase kubeconfig kubelet --config /tmp/kubeadm-config.yaml # 重启 kubelet systemctl restart kubelet3.2 现象kubeadm init成功但kubectl get nodes返回No resources found in default namespace.kubectl get cs显示scheduler和controller-manager为Unknown原因kubeadm init生成的kube-scheduler.yaml和kube-controller-manager.yamlstatic pod manifest 中--bind-address参数为127.0.0.1导致它们无法监听外部请求kubectl get cs的 healthz 探针超时。解决# 编辑 scheduler manifest sed -i s/--bind-address127.0.0.1/--bind-address0.0.0.0/g /etc/kubernetes/manifests/kube-scheduler.yaml # 编辑 controller-manager manifest sed -i s/--bind-address127.0.0.1/--bind-address0.0.0.0/g /etc/kubernetes/manifests/kube-controller-manager.yaml # 触发 kubelet 重新加载无需重启 touch /etc/kubernetes/manifests/kube-scheduler.yaml touch /etc/kubernetes/manifests/kube-controller-manager.yaml提示k8s-auto-kubernetes脚本在post-kubeadm阶段已自动执行此修复但如果你手动修改过 manifest需再次运行./fix-bind-address.sh。3.3 现象kubeadm join报错x509: certificate signed by unknown authoritykubeadm token create后kubeadm join仍失败原因kubeadm join使用的--certificate-key是临时生成的若 master 节点kubeadm init后未保存该 key或 worker 节点执行join时--certificate-key输入错误则 worker 无法解密ca.crt。解决# 在 master 上重新生成并导出 certificate-key注意此操作会失效旧 key CERT_KEY$(kubeadm certs renew ca --use-api 2/dev/null || echo failed) # 正确获取方式官方推荐 kubeadm init phase upload-certs --upload-certs # 输出类似W0101 00:00:00.000000 12345 uploadcerts.go:72] Using existing certificate key: abcdef0123456789... # 记录下这个 key用于 join kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:... \ --certificate-key abcdef0123456789...3.4 现象kubeadm init后kubectl get pods -A显示coredns一直Pendingdescribe pod coredns提示0/1 nodes are available: 1 node(s) had taints that the pod didnt tolerate.原因master 节点默认被打上node-role.kubernetes.io/control-plane:NoSchedule污点而 CoreDNS 的 toleration 仅容忍node-role.kubernetes.io/master:NoSchedule旧版或node-role.kubernetes.io/control-plane:NoSchedule新版但kubeadm生成的 CoreDNS manifest 中 toleration 字段缺失或版本不匹配。解决# 查看当前 coredns toleration kubectl get deployment coredns -n kube-system -o yaml | yq e .spec.template.spec.tolerations - # 若为空或不包含 control-plane 污点则打补丁 kubectl patch deployment coredns -n kube-system --typejson -p[{op:add,path:/spec/template/spec/tolerations,value:[{key:node-role.kubernetes.io/control-plane,operator:Exists,effect:NoSchedule}]}]注意k8s-auto-kubernetes在post-network阶段已自动注入此 toleration但若你使用kubeadm init --pod-network-cidr...后手动部署 flannel则需确保 flannel manifest 中tolerations包含control-plane。4. 用 k8s-auto-kubernetes 在本地跑通最小集群从裸机到kubectl get nodesReady 的 6 步实操4.1 准备三台干净的 CentOS 7.9 虚拟机1 master 2 worker硬件要求每台 ≥2 CPU、≥2GB RAM、≥20GB 磁盘关闭 swapswapoff -a sed -i / swap / s/^/#/ /etc/fstab网络要求三台互通master 节点开放6443/tcpAPI Server、2379-2380/tcpetcd、10250/tcpkubelet基础包yum install -y bash curl wget jq git内核参数所有节点cat EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF cat EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 net.ipv4.ip_forward 1 EOF sysctl --system4.2 下载并校验脚本SHA256 防篡改# 下载最新 release以 v1.30.0 为例 wget https://github.com/k8s-auto-kubernetes/k8s-auto-kubernetes/releases/download/v1.30.0/k8s-auto-install.sh # 校验 SHA256官方 release 页面提供 echo a1b2c3d4e5f6... k8s-auto-install.sh | sha256sum -c # 赋予执行权限 chmod x k8s-auto-install.sh逻辑说明脚本本身不包含二进制所有依赖kubeadm/kubelet/kubectl均通过yum install -y kubeadm-1.30.0 kubelet-1.30.0 kubectl-1.30.0安装版本号由config.yaml中kubernetesVersion: 1.30.0控制。这样避免了下载大体积二进制包也便于离线环境部署只需提前yum install并rpm -q --qf %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n kubeadm打包。4.3 编写config.yaml声明你的拓扑与偏好# config.yaml kubernetesVersion: 1.30.0 cri: containerd # 或 docker podNetworkCidr: 10.244.0.0/16 serviceCidr: 10.96.0.0/12 # master 节点专属 master: advertiseAddress: 192.168.1.100 # master 实际 IP bindPort: 6443 # worker 节点通用join 时用 worker: joinToken: abcdef.0123456789abcdef # 可留空init 后自动生成 discoveryTokenCaCertHash: sha256:... # 同上 # 高级选项 advanced: etcdDataDir: /var/lib/etcd kubeletRootDir: /var/lib/kubelet caExpiryDays: 3650参数说明advertiseAddress必须是你ifconfig能查到的真实 IP不能是127.0.0.1或0.0.0.0podNetworkCidr必须与后续部署的 CNI 插件如 flannel一致caExpiryDays直接影响/etc/kubernetes/pki/ca.crt有效期设为3650即 10 年。4.4 在 master 节点执行初始化带详细日志# 执行安装-v 3 输出 debug 日志 ./k8s-auto-install.sh -c config.yaml -v 3 21 | tee install-master.log # 关键成功标志grep 到即表示完成 # [init] Using Kubernetes version: v1.30.0 # [certs] Using the existing ca certificate and key # [kubeconfig] Using existing kubeconfig file at /etc/kubernetes/admin.conf # [control-plane] Created static pod manifest for kube-apiserver # Your Kubernetes control-plane has initialized successfully!逻辑说明脚本会依次执行pre-check验证 swap、iptables、内核模块、端口占用install-k8s-binariesyum install指定版本的 kubeadm/kubelet/kubectlgenerate-config基于config.yaml渲染kubeadm-config.yamlkubeadm-init执行kubeadm init --config ...post-kubeadm修复 bind-address、注入 toleration、设置 kubelet 开机启动install-cni下载 flannel v0.24.0 并kubectl apply -f ...。4.5 在 worker 节点执行 join复用 master 生成的 token# 在 master 上获取 join 命令含 certificate-key kubeadm token create --print-join-command --ttl 2h # 输出类似 # kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ # --discovery-token-ca-cert-hash sha256:... \ # --certificate-key abcdef0123456789... # 在 worker 上执行注意--certificate-key 必须带上 kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:... \ --certificate-key abcdef0123456789...提示k8s-auto-kubernetes提供./gen-join-cmd.sh工具可一键生成带--certificate-key的完整命令避免手输错误。4.6 验证集群状态不止get nodes还要看组件健康# 1. 检查节点状态应为 Ready kubectl get nodes -o wide # 2. 检查核心组件应为 Healthy kubectl get componentstatuses # 3. 检查系统 Podcoredns、kube-proxy、flannel 应 Running kubectl get pods -A -o wide # 4. 检查 etcd 健康master 节点执行 ETCDCTL_API3 etcdctl --endpointshttps://127.0.0.1:2379 \ --cacert/etc/kubernetes/pki/etcd/ca.crt \ --cert/etc/kubernetes/pki/etcd/healthcheck-client.crt \ --key/etc/kubernetes/pki/etcd/healthcheck-client.key \ endpoint health # 5. 检查 API Server 响应master 节点 curl -k https://127.0.0.1:6443/healthz参数说明etcdctl命令中--cert和--key必须指向healthcheck-client证书而非server证书否则会报x509: certificate is valid for 10.96.0.1, not 127.0.0.1。5. 进阶技巧如何用 k8s-auto-kubernetes 快速构建高可用 master三节点 etcd 集群5.1 架构设计为什么不用 kubeadm init --control-plane而要手动搭建 etcd 集群kubeadm init --control-plane本质是单点 etcd 多副本 static pod但 etcd 数据仍在单机磁盘一旦该节点宕机整个集群不可用。真正的高可用需要三节点 etcd 集群每个 master 节点运行一个 etcd 实例数据同步负载均衡 VIP前端用keepalivedhaproxy暴露6443端口VIP 漂移kubeadm join --control-planeworker 节点 join 到 VIP而非具体 master IP。k8s-auto-kubernetes不内置keepalived但提供etcd-cluster-setup.sh脚本专用于初始化三节点 etcd。5.2 三节点 etcd 部署每台 master 执行不同角色的初始化节点IPetcd 名称初始化命令master1192.168.1.100etcd-1./etcd-cluster-setup.sh --init --name etcd-1 --initial-advertise-peer-urls https://192.168.1.100:2380 --listen-peer-urls https://192.168.1.100:2380 --listen-client-urls https://192.168.1.100:2379 --advertise-client-urls https://192.168.1.100:2379 --initial-cluster etcd-1https://192.168.1.100:2380,etcd-2https://192.168.1.101:2380,etcd-3https://192.168.1.102:2380master2192.168.1.101etcd-2./etcd-cluster-setup.sh --init --name etcd-2 --initial-advertise-peer-urls https://192.168.1.101:2380 --listen-peer-urls https://192.168.1.101:2380 --listen-client-urls https://192.168.1.101:2379 --advertise-client-urls https://192.168.1.101:2379 --initial-cluster etcd-1https://192.168.1.100:2380,etcd-2https://192.168.1.101:2380,etcd-3https://192.168.1.102:2380master3192.168.1.102etcd-3./etcd-cluster-setup.sh --init --name etcd-3 --initial-advertise-peer-urls https://192.168.1.102:2380 --listen-peer-urls https://192.168.1.102:2380 --listen-client-urls https://192.168.1.102:2379 --advertise-client-urls https://192.168.1.102:2379 --initial-cluster etcd-1https://192.168.1.100:2380,etcd-2https://192.168.1.101:2380,etcd-3https://192.168.1.102:2380关键参数说明--initial-advertise-peer-urls该节点向其他 etcd 节点宣告自己的 peer URL必须是https://本机IP:2380--listen-peer-urls监听 peer 请求的地址必须包含https://本机IP:2380--initial-cluster所有节点的初始集群列表三台必须完全一致--advertise-client-urls向客户端如 kube-apiserver宣告的 client URL必须是https://本机IP:2379。5.3 验证 etcd 集群健康与成员状态# 在任意 master 节点执行使用 etcd-1 的证书 ETCDCTL_API3 etcdctl --endpointshttps://192.168.1.100:2379,https://192.168.1.101:2379,https://192.168.1.102:2379 \ --cacert/etc/kubernetes/pki/etcd/ca.crt \ --cert/etc/kubernetes/pki/etcd/server.crt \ --key/etc/kubernetes/pki/etcd/server.key \ member list # 输出应包含三行STATUS 为 startedCLIENTURLS 为各节点 IP # etcd-1, 8e9e05c52164694d, started, https://192.168.1.100:2380, https://192.168.1.100:2379, false # etcd-2, 8e9e05c52164694d, started, https://192.168.1.101:2380, https://192.168.1.101:2379, false # etcd-3, 8e9e05c52164694d, started, https://192.168.1.102:2380, https://192.168.1.102:2379, false # 检查集群健康 ETCDCTL_API3 etcdctl --endpointshttps://192.168.1.100:2379,https://192.168.1.101:2379,https://192.168.1.102:2379 \ --cacert/etc/kubernetes/pki/etcd/ca.crt \ --cert/etc/kubernetes/pki/etcd/server.crt \ --key/etc/kubernetes/pki/etcd/server.key \ endpoint health注意etcdctl的--endpoints必须列出所有三个 IP否则可能只检查单点。endpoint health返回true表示所有节点健康。5.4 用 kubeadm 初始化第一个 master指向 etcd 集群修改config.yaml增加etcd配置块etcd: external: endpoints: - https://192.168.1.100:2379 - https://192.168.1.101:2379 - https://192.168.1.102:2379 caFile: /etc/kubernetes/pki/etcd/ca.crt certFile: /etc/kubernetes/pki/etcd/server.crt keyFile: /etc/kubernetes/pki/etcd/server.key然后在master1上执行./k8s-auto-install.sh -c config.yaml --skip-etcd-init--skip-etcd-init参数告诉脚本不要运行etcd-cluster-setup.sh因为 etcd 已手动部署。脚本会跳过 etcd 初始化直接执行kubeadm init --config并将kubeadm-config.yaml中的etcd.external字段注入。5.5 添加第二、第三 master用 kubeadm join --control-plane在master2和master3上执行kubeadm join命令与 worker 相同但必须加上--control-plane参数kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:... \ --certificate-key abcdef0123456789... \ --control-plane血泪经验--control-plane参数必须显式带上否则kubeadm join会创建 worker 节点而非 control-plane。且--certificate-key依然必需因为新 master 需要解密 CA 证书。5.6 验证高可用模拟 master1 宕机检查集群是否持续服务# 在 master1 上停止 kubelet模拟宕机 systemctl stop kubelet # 在 master2 上验证 kubectl get nodes # 应显示 master1 NotReadymaster2/master3 Ready kubectl get pods -A # core-dns 等应仍在 Running kubectl get componentstatuses # scheduler/controller-manager 应 Healthy因它们在 master2/master3 上 # 检查 etcd 集群是否仍健康master2 上执行 ETCDCTL_API3 etcdctl --endpointshttps://192.168.1.101:2379,https://192.168.1.102:2379 \ --cacert/etc/kubernetes/pki/etcd/ca.crt \ --cert/etc/kubernetes/pki/etcd/server.crt \ --key/etc/kubernetes/pki/etcd/server.key \ endpoint health关键结论只要 etcd 集群有 2/3 节点存活API Server 就能继续提供读写服务。k8s-auto-kubernetes的价值在于它把 etcd 集群初始化、证书分发、kubeadm 配置注入这些易错步骤全部固化为可重复、可审计的 Bash 函数而不是靠人肉copy-paste。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

OpenClaw 创始人 YC 专访拆解:80% 的 App 消失后,TaoToken 如何承接智能体编程的 API 调用

OpenClaw 创始人 YC 专访拆解:80% 的 App 消失后,TaoToken 如何承接智能体编程的 API 调用

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

2026/10/13 13:11:13 阅读更多 →
【生物信息学】R语言中RMarkdown的安装和使用vscode进行R语言的开发:用TaoToken统一Key打通AI辅助代码补全

【生物信息学】R语言中RMarkdown的安装和使用vscode进行R语言的开发:用TaoToken统一Key打通AI辅助代码补全

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

2026/10/13 13:11:16 阅读更多 →
Windows Hello指纹登录四层兼容性排查指南

Windows Hello指纹登录四层兼容性排查指南

简介:本资源是一份面向Windows PC用户(尤其适配非品牌机、自装系统环境)的Windows Hello指纹登录器实操指南,解决普通用户在启用指纹登录时遇到的驱动安装失败、账户权限限制、第三方软件联动等典型问题。文档以PDF格式呈现&#…

2026/10/13 13:11:20 阅读更多 →

最新新闻

RBCADS 5.0轴承设计校核实战:6A/6B/6C模块选型、寿命计算与避坑指南

RBCADS 5.0轴承设计校核实战:6A/6B/6C模块选型、寿命计算与避坑指南

简介:RBCADS 5.0 滚动轴承计算机辅助设计系统 2005 正式版,面向轴承产品设计人员、机械专业师生及制造企业技术岗,用于快速完成角接触球轴承、四点接触式角接触球轴承、单列圆锥滚子轴承(公制与英制)等常见结构的设计与…

2026/10/14 1:47:14 阅读更多 →
公众号迁移公证怎么办?印鉴公证是什么、公证书为什么不能复用

公众号迁移公证怎么办?印鉴公证是什么、公证书为什么不能复用

TL;DR 关键要点 只有「异主体迁移」才需要办公证;同一主体之间的迁移免公证、也不收审核服务费。 办的是印鉴公证:公证处只对「双方自愿到场、在迁移申请函上盖章属实、公章无误」这一事实进行公证,不担保迁移本身能否通过。 公证书只能由具备…

2026/10/14 1:47:14 阅读更多 →
WinSW

WinSW

一、介绍:用于将JAVA的jar包文件变成windows服务,可以以服务的形式自动运行 二、使用:1.下载winsc.exe: https://github.com/winsw/winsw/releases2.坑(注意):a.可能版本不兼容(会造成服务启动直接停止)!!!b.注意多服务版本,最好[分包]进行部署!!!c.同名同服务文件!!!3.使用…

2026/10/14 1:47:14 阅读更多 →
ArkUI Swiper:AI证据轮播失效图剔除与稳定卡片定位【鸿蒙心迹】

ArkUI Swiper:AI证据轮播失效图剔除与稳定卡片定位【鸿蒙心迹】

案例:ProofCarousel / EvidencePage / 任务 PC-1808。本文的数据、日志、DevEco 界面与手机屏幕均为独立构造的技术示意,不是实际编译、识别或真机测试结果。示例展示的是轮播状态治理,不宣称设备内建 AI 证据能力。一、证据少了一张&#xf…

2026/10/14 1:47:14 阅读更多 →
node多版本控制(nvm)

node多版本控制(nvm)

nvm多版本控制node版本:下载:https://github.com/coreybutler/nvm-windows/tags (nvm-setup.zip已自动化配置)安装完成:nvm -v(version)注意:如果本机有node相关文件及环境变量,建议清空...下载完成后,将下载的文件夹权限放开,否则安装指定node会失败安装node完成若node不是命令…

2026/10/14 1:47:14 阅读更多 →
【K8s】初识PV和PVC

【K8s】初识PV和PVC

相关文章: 【K8s】初识PV和PVC 【k8s】存储 pv 参数列表 【k8s】存储 pvc 参数列表 概述 起初,我们直接在pod yml中定义存储,但是缺点是死板,且不好管理存储的生命周期后来有了pv和pvc,我们可以管理存储了&#xff0…

2026/10/14 1:46:14 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →