转行小白也能一次成功的 Kubernetes v1.32 高可用集群部署指南(Ubuntu 22.04 + 国内环境 + 保姆级)
摘要本文面向零基础转行运维/云原生的小白手把手教你在国内家庭宽带环境下不踩坑、不报错、一次性搭建出生产级的 Kubernetes v1.32 高可用集群3 Master 6 Node。全程使用国内镜像源无需翻墙每一步均可复制粘贴附完整验证命令与排错指南。一、写在前面为什么你之前安装总失败很多教程之所以让小白反复折腾通常踩了这几个坑坑点后果本文解决方案默认拉取k8s.gcr.io镜像国内超时/失败全程使用阿里云registry.aliyuncs.com/google_containers镜像源使用 Docker 作为运行时k8s 1.24 已移除 dockershim配置复杂使用官方推荐的containerd轻量且原生支持命令行参数初始化漏一个参数就全盘重来使用kubeadm 配置文件初始化参数集中管理没有负载均衡器单 Master 故障 集群瘫痪3 Master Keepalived HAProxy高可用方案内核参数没配好网络不通、DNS 异常每一步都带验证命令确保没问题再往下走本文架构设计[ 你的电脑 / 运维机 ] | [VIP: 10.10.1.100:6443] [Keepalived HAProxy 负载均衡] | ----------------------------------------- | | | [k8s-master01] [k8s-master02] [k8s-master03] 10.10.1.10 10.10.1.11 10.10.1.12 (自带 etcd) (自带 etcd) (自带 etcd) | | | ----------------------------------------- | ----------------------------------------- | | | | | | [N1] [N2] [N3] [N4] [N5] [N6] .21 .22 .23 .24 .25 .26二、环境规划请严格按照此表配置2.1 节点规划角色主机名IP 地址配置要求OSMaster01k8s-master0110.10.1.102C4GUbuntu 22.04Master02k8s-master0210.10.1.112C4GUbuntu 22.04Master03k8s-master0310.10.1.122C4GUbuntu 22.04Node01k8s-node0110.10.1.212C4GUbuntu 22.04Node02k8s-node0210.10.1.222C4GUbuntu 22.04Node03k8s-node0310.10.1.232C4GUbuntu 22.04Node04k8s-node0410.10.1.242C4GUbuntu 22.04Node05k8s-node0510.10.1.252C4GUbuntu 22.04Node06k8s-node0610.10.1.262C4GUbuntu 22.04虚拟IP—10.10.1.100不占用实体机由 Keepalived 漂移2.2 网络规划提前定好避免冲突网络类型CIDR说明Pod 网络172.16.0.0/16Calico 使用Service 网络10.96.0.0/12ClusterIP 使用虚拟 IP10.10.1.100Keepalived 漂移地址注意请确保172.16.0.0/16和10.96.0.0/12不与你的内网网段冲突。如果冲突请替换为其他私有网段。三、基础环境初始化所有 9 台节点都要执行执行范围k8s-master01 ~ k8s-master03、k8s-node01 ~ k8s-node06执行用户root全程使用 root避免权限问题3.1 设置主机名根据节点角色选择对应命令# 在 10.10.1.10 执行hostnamectl set-hostname k8s-master01# 在 10.10.1.11 执行hostnamectl set-hostname k8s-master02# 在 10.10.1.12 执行hostnamectl set-hostname k8s-master03# 在 10.10.1.21 执行hostnamectl set-hostname k8s-node01# 在 10.10.1.22 执行hostnamectl set-hostname k8s-node02# 在 10.10.1.23 执行hostnamectl set-hostname k8s-node03# 在 10.10.1.24 执行hostnamectl set-hostname k8s-node04# 在 10.10.1.25 执行hostnamectl set-hostname k8s-node05# 在 10.10.1.26 执行hostnamectl set-hostname k8s-node063.2 配置 hosts 解析所有节点执行cat/etc/hostsEOF 10.10.1.10 k8s-master01 10.10.1.11 k8s-master02 10.10.1.12 k8s-master03 10.10.1.21 k8s-node01 10.10.1.22 k8s-node02 10.10.1.23 k8s-node03 10.10.1.24 k8s-node04 10.10.1.25 k8s-node05 10.10.1.26 k8s-node06 10.10.1.100 k8s-vip EOF验证命令ping-c2k8s-master01ping-c2k8s-node01# 都能通说明 hosts 配置正确3.3 更换 Ubuntu 国内源所有节点执行# 备份原配置cp/etc/apt/sources.list /etc/apt/sources.list.bak# 写入阿里云源Ubuntu 22.04 Jammycat/etc/apt/sources.listEOF deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse EOFaptupdate3.4 关闭 Swap所有节点执行k8s 官方要求关闭 swap否则 kubelet 无法启动。# 临时关闭swapoff-a# 永久关闭注释掉 swap 行sed-i/swap/s/^/#//etc/fstab# 验证free-h# 看到 swap 行都是 0 就对了3.5 关闭防火墙所有节点执行systemctl stop ufw systemctl disable ufw# 验证systemctl status ufw# 看到 inactive (dead) 就对了3.6 加载内核模块所有节点执行# 写入模块配置cat/etc/modules-load.d/k8s.confEOF overlay br_netfilter ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack EOF# 立即加载modprobe overlay modprobe br_netfilter modprobe ip_vs modprobe ip_vs_rr modprobe ip_vs_wrr modprobe ip_vs_sh modprobe nf_conntrack# 验证lsmod|grep-Eoverlay|br_netfilter|ip_vs# 能看到这些模块说明成功3.7 配置内核参数所有节点执行cat/etc/sysctl.d/k8s.confEOF net.bridge.bridge-nf-call-iptables 1 net.bridge.bridge-nf-call-ip6tables 1 net.ipv4.ip_forward 1 net.ipv4.conf.all.rp_filter 0 net.ipv4.conf.default.rp_filter 0 EOF# 立即生效sysctl--system# 验证sysctlnet.bridge.bridge-nf-call-iptables# 返回 1 说明成功3.8 安装基础工具所有节点执行aptinstall-yapt-transport-https ca-certificatescurlgnupg lsb-release\software-properties-commonvimwgetnet-tools ipvsadm ipset telnet3.9 时间同步所有节点执行aptinstall-ychrony systemctlenablechrony--now# 验证chronyc sources# 看到 ^* 开头表示已同步四、安装 Containerd 容器运行时所有节点执行k8s 1.32 官方推荐使用 containerd比 Docker 更轻量且无需 dockershim 适配层。4.1 安装 Containerd# 安装 containerdaptinstall-ycontainerd# 生成默认配置mkdir-p/etc/containerd containerd config default/etc/containerd/config.toml4.2 配置 Containerd关键步骤需要修改三个地方cgroup 驱动为 systemd、配置国内镜像加速、配置 sandbox 镜像地址。# 修改 cgroup 驱动为 systemd与 Ubuntu 22.04 默认一致sed-is/SystemdCgroup false/SystemdCgroup true//etc/containerd/config.toml# 修改 sandbox_image 为阿里云地址否则 pause 镜像拉取失败sed-is|sandbox_image registry.k8s.io/pause:.*|sandbox_image registry.aliyuncs.com/google_containers/pause:3.10|/etc/containerd/config.toml手动追加镜像加速配置解决国内拉取 docker.io 等镜像超时问题cat/etc/containerd/config.tomlEOF [plugins.io.containerd.grpc.v1.cri.registry.mirrors] [plugins.io.containerd.grpc.v1.cri.registry.mirrors.docker.io] endpoint [https://docker.m.daocloud.io, https://docker.xuanyuan.me] [plugins.io.containerd.grpc.v1.cri.registry.mirrors.registry.k8s.io] endpoint [https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/registry.k8s.io] [plugins.io.containerd.grpc.v1.cri.registry.mirrors.k8s.gcr.io] endpoint [https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/k8s.gcr.io] [plugins.io.containerd.grpc.v1.cri.registry.mirrors.gcr.io] endpoint [https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/gcr.io] [plugins.io.containerd.grpc.v1.cri.registry.mirrors.ghcr.io] endpoint [https://swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io] EOF4.3 启动 Containerdsystemctl daemon-reload systemctlenablecontainerd--now# 验证systemctl status containerd ctr version# 看到 Active: active (running) 说明成功五、安装 Kubernetes 组件所有节点执行5.1 添加 Kubernetes 国内 APT 源官方源apt.kubernetes.io在国内几乎无法访问必须使用阿里云镜像。# 创建 keyrings 目录mkdir-p/etc/apt/keyrings# 下载阿里云 GPG 密钥curl-fsSLhttps://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg|gpg--dearmor-o/etc/apt/keyrings/kubernetes-apt-keyring.gpg# 添加阿里云 apt 源注意xenial 是仓库代号Ubuntu 22.04 也适用echodeb [signed-by/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main|tee/etc/apt/sources.list.d/kubernetes.listaptupdate5.2 安装指定版本锁定 v1.32# 查看可用版本确认有 1.32apt-cachemadison kubelet|grep1.32# 安装 1.32 最新补丁版本当前是 1.32.7如有更新请替换VERSION1.32.7-1.1aptinstall-ykubelet$VERSIONkubeadm$VERSIONkubectl$VERSION# 锁定版本防止自动升级导致集群不一致apt-mark hold kubelet kubeadm kubectl# 验证kubeadm version kubectl version--clientkubelet--version# 都显示 v1.32.x 说明成功5.3 启动 Kubeletsystemctlenablekubelet--now# 此时 kubelet 会处于重启状态这是正常的等待集群初始化systemctl status kubelet六、部署 Keepalived HAProxy仅在 3 台 Master 执行为了实现高可用我们需要一个虚拟 IP10.10.1.100作为 3 台 Master 的统一入口。Keepalived 负责 VIP 漂移HAProxy 负责将 6443 端口负载均衡到 3 台 Master。6.1 安装软件3 台 Masteraptinstall-ykeepalived haproxy6.2 配置 HAProxy3 台 Master 配置相同mv/etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bakcat/etc/haproxy/haproxy.cfgEOF global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon maxconn 4000 defaults mode tcp log global option tcplog option dontlognull timeout connect 5s timeout client 50s timeout server 50s frontend k8s-apiserver bind *:6443 mode tcp default_backend k8s-apiserver-backend backend k8s-apiserver-backend mode tcp option tcp-check balance roundrobin server k8s-master01 10.10.1.10:6443 check fall 2 rise 2 server k8s-master02 10.10.1.11:6443 check fall 2 rise 2 server k8s-master03 10.10.1.12:6443 check fall 2 rise 2 listen stats bind *:1080 mode http stats enable stats uri /stats stats refresh 5s EOF6.3 配置 Keepalived3 台 Master 分别配置Master0110.10.1.10配置——主节点cat/etc/keepalived/keepalived.confEOF global_defs { router_id LVS_K8S script_user root enable_script_security } vrrp_script check_haproxy { script /etc/keepalived/check_haproxy.sh interval 3 weight -15 fall 2 rise 1 } vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass K8sHA2026 } virtual_ipaddress { 10.10.1.100/24 } track_script { check_haproxy } } EOFMaster0210.10.1.11配置——备节点1cat/etc/keepalived/keepalived.confEOF global_defs { router_id LVS_K8S script_user root enable_script_security } vrrp_script check_haproxy { script /etc/keepalived/check_haproxy.sh interval 3 weight -15 fall 2 rise 1 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 90 advert_int 1 authentication { auth_type PASS auth_pass K8sHA2026 } virtual_ipaddress { 10.10.1.100/24 } track_script { check_haproxy } } EOFMaster0310.10.1.12配置——备节点2cat/etc/keepalived/keepalived.confEOF global_defs { router_id LVS_K8S script_user root enable_script_security } vrrp_script check_haproxy { script /etc/keepalived/check_haproxy.sh interval 3 weight -15 fall 2 rise 1 } vrrp_instance VI_1 { state BACKUP interface ens33 virtual_router_id 51 priority 80 advert_int 1 authentication { auth_type PASS auth_pass K8sHA2026 } virtual_ipaddress { 10.10.1.100/24 } track_script { check_haproxy } } EOF注意interface ens33请替换为你实际的网卡名通过ip addr查看。6.4 创建健康检查脚本3 台 Mastercat/etc/keepalived/check_haproxy.shEOF #!/bin/bash if ! pgrep -x haproxy /dev/null; then systemctl stop keepalived exit 1 fi exit 0 EOFchmodx /etc/keepalived/check_haproxy.sh6.5 启动服务3 台 Mastersystemctlenablehaproxy keepalived--nowsystemctl restart haproxy keepalived# 验证 VIP 是否在 Master01 上ipaddr|grep10.10.1.100# 能看到 10.10.1.100 说明 Keepalived 工作正常验证负载均衡# 在任意节点测试 VIP 连通性telnet10.10.1.1006443# 能连通说明 HAProxy 正常七、初始化 Kubernetes 高可用集群7.1 创建 kubeadm 初始化配置文件仅在 Master01 执行使用配置文件而非命令行参数可以避免漏配、错配且便于版本管理。mkdir-p/etc/kubernetes/initcat/etc/kubernetes/init/kubeadm-init.yamlEOF apiVersion: kubeadm.k8s.io/v1beta4 kind: InitConfiguration bootstrapTokens: - groups: - system:bootstrappers:kubeadm:default-node-token token: abcdef.0123456789abcdef ttl: 24h0m0s usages: - signing - authentication nodeRegistration: criSocket: unix:///run/containerd/containerd.sock imagePullPolicy: IfNotPresent name: k8s-master01 --- apiVersion: kubeadm.k8s.io/v1beta4 kind: ClusterConfiguration kubernetesVersion: 1.32.7 controlPlaneEndpoint: 10.10.1.100:6443 imageRepository: registry.aliyuncs.com/google_containers networking: dnsDomain: cluster.local podSubnet: 172.16.0.0/16 serviceSubnet: 10.96.0.0/12 apiServer: certSANs: - k8s-vip - k8s-master01 - k8s-master02 - k8s-master03 - 10.10.1.10 - 10.10.1.11 - 10.10.1.12 - 10.10.1.100 - 127.0.0.1 etcd: local: dataDir: /var/lib/etcd --- apiVersion: kubeproxy.config.k8s.io/v1alpha1 kind: KubeProxyConfiguration mode: ipvs ipvs: strictARP: true EOF7.2 提前拉取镜像所有 Master 节点执行关键步骤提前拉取镜像可以避免初始化时网络超时导致失败。# 在 Master01、Master02、Master03 分别执行kubeadm config images pull--config/etc/kubernetes/init/kubeadm-init.yaml验证镜像crictl images|grepregistry.aliyuncs.com# 应该能看到 kube-apiserver、kube-controller-manager 等 7 个镜像如果提示crictl命令不存在安装一下apt install -y cri-tools7.3 初始化第一个 Master仅在 Master01 执行kubeadm init--config/etc/kubernetes/init/kubeadm-init.yaml --upload-certs预期输出请务必保存这段输出Your Kubernetes control-plane has initialized successfully! To start using your cluster, you need to run the following as a regular user: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config You can now join any number of control-plane nodes running the following command on each as root: kubeadm join 10.10.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxx \ --control-plane --certificate-key xxxxxxxx Then you can join any number of worker nodes by running the following on each as root: kubeadm join 10.10.1.100:6443 --token abcdef.0123456789abcdef \ --discovery-token-ca-cert-hash sha256:xxxxxxxx7.4 配置 kubectl仅在 Master01 执行mkdir-p$HOME/.kubecp-i/etc/kubernetes/admin.conf$HOME/.kube/configchown$(id-u):$(id-g)$HOME/.kube/config# 验证kubectl get nodes# 应该能看到 k8s-master01状态为 NotReady正常还没装网络插件八、加入其他 Master 节点Master02、Master038.1 复制证书并加入在 Master02、Master03 分别执行使用 Master01 初始化输出中的control-plane join 命令# 示例请替换为你实际输出的 token 和 hashkubeadmjoin10.10.1.100:6443--tokenabcdef.0123456789abcdef\--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\--control-plane --certificate-key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\--cri-socket unix:///run/containerd/containerd.sock注意--certificate-key有效期只有 2 小时。如果超时了在 Master01 上重新生成kubeadm init phase upload-certs --upload-certs8.2 配置 kubectl在 Master02、Master03 执行mkdir-p$HOME/.kubecp-i/etc/kubernetes/admin.conf$HOME/.kube/configchown$(id-u):$(id-g)$HOME/.kube/config8.3 验证 Master 高可用kubectl get nodes# 应该看到 3 个 master状态都是 NotReady九、加入 Node 工作节点Node01 ~ Node069.1 提前拉取 Node 所需镜像6 台 Node 执行Node 节点只需要 kube-proxy 和 pause 镜像# 在 Node 节点上拉取crictl pull registry.aliyuncs.com/google_containers/kube-proxy:v1.32.7 crictl pull registry.aliyuncs.com/google_containers/pause:3.109.2 加入集群6 台 Node 分别执行使用 Master01 初始化输出中的worker join 命令# 示例请替换为你实际输出的 token 和 hashkubeadmjoin10.10.1.100:6443--tokenabcdef.0123456789abcdef\--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\--cri-socket unix:///run/containerd/containerd.sock9.3 验证节点加入在任意 Master 节点执行kubectl get nodes# 应该看到 3 个 master 6 个 node共 9 个节点十、安装 Calico 网络插件仅在 Master01 执行没有 CNI 插件节点状态会一直是 NotReadyPod 也无法通信。10.1 下载并修改 Calico 配置cd/root# 下载 Calico 官方 YAMLv3.29 版本支持 k8s 1.32wgethttps://raw.githubusercontent.com/projectcalico/calico/v3.29.0/manifests/calico.yaml# 修改 Pod CIDR必须与你 kubeadm 配置中的一致sed-is|# - name: CALICO_IPV4POOL_CIDR|- name: CALICO_IPV4POOL_CIDR|calico.yamlsed-is|# value: 192.168.0.0/16| value: 172.16.0.0/16|calico.yaml10.2 解决 Calico 镜像国内拉取问题Calico 默认从 docker.io 拉取国内可能超时。我们有两种方案方案 A推荐使用华为云镜像代理无需修改 YAML由于我们在 containerd 中已配置了 docker.io 的镜像加速docker.m.daocloud.io和docker.xuanyuan.me直接 apply 即可kubectl apply-fcalico.yaml方案 B如果方案 A 拉取失败手动替换镜像地址# 将 docker.io 替换为华为云代理sed-is|docker.io|m.daocloud.io/docker.io|gcalico.yaml kubectl apply-fcalico.yaml10.3 等待 Calico 启动watchkubectl get pods-nkube-system# 等待所有 pod 状态变为 Running约 2-5 分钟10.4 验证节点状态kubectl get nodes# 所有节点状态应该变为 Ready十一、集群功能验证恭喜你到这里基本成功了11.1 验证节点状态kubectl get nodes-owide# 期望输出9 个节点STATUS 全部为 Ready11.2 验证系统 Podkubectl get pods-nkube-system# 期望输出coredns、kube-proxy、calico-node 等全部 Running11.3 验证高可用VIP 漂移测试# 1. 查看当前 VIP 在哪台 Masteripaddr|grep10.10.1.100# 假设在 Master01# 2. 关闭 Master01 的网络或关机systemctl stop keepalived# 3. 在 Master02 或 Master03 上查看 VIP 是否漂移过来ipaddr|grep10.10.1.100# 应该能看到 VIP 漂移到新的 Master# 4. 验证集群仍然可用kubectl get nodes# 仍然能正常输出说明高可用生效11.4 部署测试应用# 创建一个 nginx 测试 Podkubectl create deployment nginx--imagenginx:alpine--replicas3# 暴露为 NodePort 服务kubectl expose deployment nginx--port80--typeNodePort# 查看kubectl get svc nginx# 看到类似 80:3xxxx/TCP用任意 NodeIP:NodePort 访问测试十二、常用运维命令建议收藏场景命令查看节点kubectl get nodes -o wide查看所有 Podkubectl get pods -A查看系统日志journalctl -xeu kubelet查看容器日志crictl logs container-id生成新的 join tokenkubeadm token create --print-join-command重新上传证书kubeadm init phase upload-certs --upload-certs重置节点慎用kubeadm reset -f十三、排错指南遇到问题先看这里13.1 初始化失败如何重置# 在失败的 Master 上执行kubeadm reset-frm-rf/etc/kubernetes /var/lib/etcd$HOME/.kube iptables-Fiptables-tnat-Fiptables-tmangle-Fiptables-Xipvsadm--clear# 然后重新执行 kubeadm init13.2 节点状态 NotReady# 查看具体原因kubectl describenodenode-name# 常见原因1CNI 没装好kubectl get pods-nkube-system|grepcalico# 常见原因2kubelet 没启动systemctl status kubelet journalctl-xeukubelet13.3 镜像拉取失败ImagePullBackOff# 查看具体镜像kubectl describe podpod-name-nnamespace# 手动拉取测试crictl pull镜像名# 检查 containerd 镜像加速配置cat/etc/containerd/config.toml|grep-A5registry.mirrors13.4 Keepalived VIP 不漂移# 检查脚本权限ls-l/etc/keepalived/check_haproxy.sh# 手动执行测试bash/etc/keepalived/check_haproxy.shecho$?# 返回 0 表示正常十四、总结通过本文你完成了以下工作✅9 台 Ubuntu 22.04 节点的基础环境标准化配置✅Containerd容器运行时的安装与国内镜像加速配置✅Keepalived HAProxy高可用负载均衡VIP: 10.10.1.100✅Kubeadm初始化 v1.32.7 高可用集群3 Master 6 Node✅CalicoCNI 网络插件部署✅ 完整的验证测试与排错指南这个集群的特点任意 1 台 Master 宕机集群仍可正常管理全程使用国内源无需翻墙使用配置文件管理便于后续维护和升级每一步都有验证命令确保不出错如果本文对你有帮助欢迎点赞、收藏、转发有问题可以在评论区留言我会持续更新维护这篇文章。标签#Kubernetes#K8s#高可用集群#Ubuntu#Containerd#Calico#Keepalived#运维#云原生#转行

相关新闻

2010-2024年耐心资本对企业持续性创新投入的影响数据+stata代码

2010-2024年耐心资本对企业持续性创新投入的影响数据+stata代码

一、为什么"耐心资本"值得专门测度 企业创新从来不是一场短跑——研发投入周期长、不确定性高、收益兑现滞后,这意味着传统的短期资金往往难以支撑企业持续创新。耐心资本(Patient Capital)正是为了应对这一痛点而被提出的概念&am…

2026/10/10 23:21:59 阅读更多 →
2000-2025年地级市财政监督、生态治理、服务业开放、信用修复 DID政策合集

2000-2025年地级市财政监督、生态治理、服务业开放、信用修复 DID政策合集

2000—2025 地级市"四维一体"政经改革 DID 合集 一、写在前面:为什么需要"四维一体" 做政经类实证研究的人都知道,找全四类改革试点的 DID 变量往往要花掉大半个文献综述周期——常态化财会监督改革试点、生态环境智慧监测试点、服…

2026/10/2 12:34:38 阅读更多 →
从C64《Dodgeball》剖析8位机游戏开发:硬件编程与性能优化实战

从C64《Dodgeball》剖析8位机游戏开发:硬件编程与性能优化实战

最近在整理经典游戏开发资料时,发现很多开发者对上世纪80年代Commodore 64(C64)平台上的游戏开发技术很感兴趣,特别是像《Dodgeball》这类经典游戏的实现原理。本文将以“Dodgeball II”及其“冰淇凌(冷)”…

2026/10/12 19:38:40 阅读更多 →

最新新闻

Windows平台Rust开发环境配置与优化指南

Windows平台Rust开发环境配置与优化指南

1. Rust语言与Windows环境适配背景Rust作为一门系统级编程语言,其编译器工具链对操作系统底层有着深度依赖。在Windows平台进行Rust开发需要特别注意环境配置的差异性——与Linux/macOS不同,Windows存在MSVC和GNU两种ABI(应用程序二进制接口&…

2026/10/14 2:25:24 阅读更多 →
长波红外超构透镜偏振复用FDTD仿真全流程解析

长波红外超构透镜偏振复用FDTD仿真全流程解析

1. 项目背景与核心价值长波红外超构透镜偏振复用聚焦技术是近年来光学领域的前沿研究方向。作为一名光学工程师,我在实际项目中发现传统红外光学系统存在体积大、重量沉、功能单一等问题。而基于超构表面的偏振复用透镜,能在单层平面上实现多通道光学功能…

2026/10/14 2:25:24 阅读更多 →
2026 查重率和 AIGC 率都飘红?一站式降AI率软件实测推荐

2026 查重率和 AIGC 率都飘红?一站式降AI率软件实测推荐

一、前言:2026 高校论文审核新难题随着高校学术审核体系不断升级,知网、维普等主流检测平台全面上线AIGC 智能检测功能,当代毕业生的论文写作与修改迎来双重考验。以往论文仅需攻克重复率超标问题,如今还要规避AI写作痕迹检测风险…

2026/10/14 2:25:24 阅读更多 →
摄影工作室AI提效手册:婚纱写真儿童摄影的修图、营销与交付(v1.0)

摄影工作室AI提效手册:婚纱写真儿童摄影的修图、营销与交付(v1.0)

摄影工作室AI提效手册:婚纱、写真、儿童摄影的修图营销与交付版本 v1.0  2026年10月写在前面:这本手册解决什么这本手册写给三类人:开婚纱影楼的老板与修图主管、拍个人写真和家庭照的独立摄影师、做儿童摄影工作室的店长与后期。你大概率已…

2026/10/14 2:25:24 阅读更多 →
流水线设计实战:从冒险机制到乱序执行的性能优化

流水线设计实战:从冒险机制到乱序执行的性能优化

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

2026/10/14 2:25:24 阅读更多 →
【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告

【数据可视化-155】第十五届全运会乒乓球男单半决赛:樊振东VS王楚钦技术分析报告

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个…

2026/10/14 2:24:24 阅读更多 →

日新闻

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 阅读更多 →