织梦网站模板安装教程邵阳招聘网最新招聘信息网
2026/6/11 6:24:07 网站建设 项目流程
织梦网站模板安装教程,邵阳招聘网最新招聘信息网,人才网最新招聘,沈阳专业做网站方案文章目录全文开始服务器环境前期准备工作关闭防火墙和selinux主机名解析开启bridge网桥过滤关闭swap分区安装containerd配置containerd启动服务安装nerdctl安装master节点移动相关资源安装相关资源集群初始化部署网络插件安装worker节点前置条件安装kube三件套worker加入集群Ng…文章目录全文开始服务器环境前期准备工作关闭防火墙和selinux主机名解析开启bridge网桥过滤关闭swap分区安装containerd配置containerd启动服务安装nerdctl安装master节点移动相关资源安装相关资源集群初始化部署网络插件安装worker节点前置条件安装kube三件套worker加入集群Nginx测试可视化 UI 界面全文结束资料包领取技术 交流群全文开始当数字化转型的浪潮深入至金融、政务、能源等关键领域一个无法回避的挑战摆在面前如何在完全断网、硬件与操作系统全面国产化的“孤岛”环境中构建一套现代化的 #云原生 #基础设施 这不仅是技术问题更是一项涉及供应链安全、技术自主与复杂工程整合的系统工程。网上随处可见的在线安装教程在此刻全部失灵你需要的是从第一行命令开始亲手搭建起整个生态的每一块基石。本文将深入这一最具挑战性的场景详细记录在国产操作系统上以纯离线方式完整部署 Kubernetes 1.33.3 集群的全过程。内容将涵盖离线依赖包的全量准备、私有镜像仓库的严肃规划、针对国产硬件的内核参数调优以及绕过所有网络假设的部署实战。这不仅是一篇指南更是一份在内网环境中开辟云原生道路的工程备忘录。服务器环境主机名IP地址角色操作系统 / 规格master-01192.168.8.200master节点openEuler-24.03 2c6gworker-01192.168.8.201工作节点openEuler-24.03 2c4gworker-02192.168.8.202工作节点openEuler-24.03 2c4g务必提前下载好提供的资源包amd64.zip前三步每台服务器上都要做。从第四步开始按角色分步将系统时间调整对。【我这里仅仅只是快速同步一次生产环境中需要实时同步需要时间服务器】当然为了简便直接使用date -s命令把时间修改为一致也可以不一定非得要 NTP 时间服务器# 有网的情况下yum -yinstallntpdate ntpdate ntp1.aliyun.com# 无网的情况下date-s2025-12-15 10:23:12前期准备工作关闭防火墙和selinux**所有主机都做**这里也就是三台服务器上都要进行操作。# 关闭防火墙systemctl stop firewalldsystemctl disable firewalld# 关闭selinux【欧拉和银河麒麟默认就是关闭的】setenforce0sed-is/SELINUXenforcing/SELINUXdisabled//etc/selinux/config主机名解析所有主机都做此解析操作echo192.168.8.200 master-01 192.168.8.201 worker-01 192.168.8.202 worker-02/etc/hosts开启bridge网桥过滤bridge(桥接) 是 Linux 系统中的一种虚拟网络设备它充当一个虚拟的交换机为集群内的容器提供网络通信功能容器就可以通过这个 bridge 与其他容器或外部网络通信了。# 开启网桥过滤cat/etc/sysctl.d/k8s.confEOF net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1 net.ipv4.ip_forward 1 EOF# 加载模块modprobe overlaylsmod|grepoverlay modprobe br_netfilterlsmod|grepbr_netfilter# 加载配置sysctl -p /etc/sysctl.d/k8s.conf关闭swap分区swapoff -ased-ris/.*swap.*/#//etc/fstab安装containerd安装相关资源资源准备# 进入到资源包所在目录unzipamd64.zipcdamd64# 安装runcinstall-m755runc.amd64 /usr/local/sbin/runc# 安装CNI插件mkdir-p /opt/cni/bintarCxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.4.0.tgz安装容器运行时并注册为系统服务# 安装containerdtarCxzvf /usr/local containerd-1.7.15-linux-amd64.tar.gz# 注册服务catEOF/etc/systemd/system/containerd.service[Unit] Descriptioncontainerd container runtime Documentationhttps://containerd.io Afternetwork.target dbus.service [Service] ExecStartPre-/sbin/modprobe overlay ExecStart/usr/local/bin/containerd Typenotify Delegateyes KillModeprocess Restartalways RestartSec5 LimitNPROCinfinity LimitCOREinfinity TasksMaxinfinity OOMScoreAdjust-999 [Install] WantedBymulti-user.target EOF配置containerd配置containerd# 生成containerd配置文件mkdir-p /etc/containerd containerd config default/etc/containerd/config.toml#设置SystemdCgroup为true关键配置sed-is#SystemdCgroup false#SystemdCgroup true#/etc/containerd/config.toml# 修改sandbox镜像版本sed-is#sandbox_image registry.k8s.io/pause:3.8#sandbox_image registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.10#/etc/containerd/config.toml# 为Containerd配置镜像加速器【可选我这里不用】,有内网仓库的可以写内网。vim/etc/containerd/config.toml#...[plugins.io.containerd.grpc.v1.cri.registry.mirrors][plugins.io.containerd.grpc.v1.cri.registry.mirrors.docker.io]endpoint[https://swr.lan.aiminjie.com]# crictl 配置文件【如果安装的话可配置我这里使用的是nerdctl】catEOF|tee/etc/crictl.yamlruntime-endpoint: unix:///var/run/containerd/containerd.sock image-endpoint: unix:///var/run/containerd/containerd.sock timeout: 10 debug: false EOF启动服务# 启动服务systemctl daemon-reload systemctlenable--now containerd# 验证版本systemctl status containerd --no-pager containerd --version runc --version安装nerdctlnerdctl 是一个和docker极其类似的工具用于弥补没有docker的不足。# 解压tar-xf nerdctl-2.0.3-linux-amd64.tar.gzmvnerdctl /usr/local/binrm-rf containerd-rootless*chmodx /usr/local/bin/nerdctl# 设置别名,如果containerd.sock的目录为/var/run/containerd/containerd.sock则不用加上-a选项echoalias nerdnerdctl -a /var/run/containerd/containerd.sock -n k8s.io/etc/profile# 刷新source/etc/profile注意这里命名为 nerd后续直接使用nerd 对镜像进行管理即可。安装master节点移动相关资源forbininkubelet kubeadm kubectl;dochmodx$binmv$bin/usr/local/bin/done安装相关资源# 创建 kubelet systemd 配置catEOF/etc/systemd/system/kubelet.service[Unit] Descriptionkubelet: The Kubernetes Node Agent Documentationhttps://kubernetes.io/docs/ Afternetwork-online.target Wantsnetwork-online.target [Service] ExecStart/usr/local/bin/kubelet Restartalways StartLimitInterval0 RestartSec10 [Install] WantedBymulti-user.target EOF# 创建 kubelet 配置目录mkdir-p /etc/systemd/system/kubelet.service.d# 补充配置文件cat/etc/systemd/system/kubelet.service.d/10-kubeadm.confEOF [Service] EnvironmentKUBELET_KUBEADM_ARGS--config/var/lib/kubelet/config.yaml --container-runtime-endpointunix:///var/run/containerd/containerd.sock --cgroup-driversystemd --pod-manifest-path/etc/kubernetes/manifests --bootstrap-kubeconfig/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig/etc/kubernetes/kubelet.conf ExecStart ExecStart/usr/local/bin/kubelet $KUBELET_KUBEADM_ARGS EOF# 设置服务为自启状态但是先不启动systemctl daemon-reexec systemctl daemon-reload systemctlenablekubelet此时kubelet服务是无法启动的。集群初始化在master-01 上导入镜像nerd load -i k8s_master_images.tar初始化集群方式一# 生成配置文件模板kubeadm config print init-defaultskubeadm-config.yaml# 修改模板中的如下内容# 管理节点的IP地址advertiseAddress:192.168.8.200# 本机注册到集群后的节点名称使用主机名name: master-01# 集群镜像下载地址修改为阿里云[因为镜像资源包里面用的是阿里云的所以这里要设置一下]imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers# k8s版本kubernetesVersion:1.33.3# 初始化集群kubeadm init --config kubeadm-config.yaml初始化解群方式二【推荐更快速】kubeadm init\--apiserver-advertise-address192.168.8.200\--node-namemaster-01\--image-repositoryregistry.cn-hangzhou.aliyuncs.com/google_containers\--kubernetes-versionv1.33.3如果上述所有配置没有问题则会看到如下输出根据上述图片执行如下命令mkdir-p$HOME/.kubesudocp-i /etc/kubernetes/admin.conf$HOME/.kube/configsudochown$(id-u):$(id-g)$HOME/.kube/config如果哪个节点出现问题可以使用下列命令重置当前节点# 重置kubeadm reset -frm-rf /etc/kubernetes/*rm-rf /var/lib/etcdrm-rf /var/lib/kubelet/*rm-rf /etc/cni/net.drm-rf /etc/kubernetes/manifests/*# 重启 containerd 和 kubeletsystemctl stop kubelet systemctl restart containerd查看节点状态[rootmaster-01 ~]# kubectl get nodeNAME STATUS ROLES AGE VERSION master-01 NotReady control-plane 113s v1.33.3此时是NotReady。当我们安装网络插件后即可变成ready状态。部署网络插件我们部署先阶段比较流行的 calicao 网络插件。# 导入镜像nerd load -i calico/calico.tar# 部署kubectl apply -f calico/calico.yaml# 查看验证kubectl get pod -n kube-system NAME READY STATUS RESTARTS AGE calico-kube-controllers-7967497bcf-p8g991/1 Running025m calico-node-p5sq21/1 Running025m coredns-746c97786-bcq6l1/1 Running058m coredns-746c97786-nm9lw1/1 Running058m etcd-master-011/1 Running058m kube-apiserver-master-011/1 Running058m kube-controller-manager-master-011/1 Running058m kube-proxy-k5cx81/1 Running058m kube-scheduler-master-011/1 Running058m安装worker节点前置条件先完成文章的前三步。前往不要遗漏否则可能安装失败。安装kube三件套# 解压资源包unzipamd64.zipcdamd64# 移动资源forbininkubelet kubeadm kubectl;dochmodx$binmv$bin/usr/local/bin/done# 创建 kubelet systemd 配置catEOF/etc/systemd/system/kubelet.service[Unit] Descriptionkubelet: The Kubernetes Node Agent Documentationhttps://kubernetes.io/docs/ Afternetwork-online.target Wantsnetwork-online.target [Service] ExecStart/usr/local/bin/kubelet Restartalways StartLimitInterval0 RestartSec10 [Install] WantedBymulti-user.target EOF# 创建 kubelet 配置目录mkdir-p /etc/systemd/system/kubelet.service.d# 创建kubelet配置文件cat/etc/systemd/system/kubelet.service.d/10-kubeadm.confEOF [Service] EnvironmentKUBELET_KUBEADM_ARGS--config/var/lib/kubelet/config.yaml --container-runtime-endpointunix:///var/run/containerd/containerd.sock --cgroup-driversystemd --pod-manifest-path/etc/kubernetes/manifests --bootstrap-kubeconfig/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig/etc/kubernetes/kubelet.conf ExecStart ExecStart/usr/local/bin/kubelet $KUBELET_KUBEADM_ARGS EOF# 设置服务为自启状态但是不启动systemctl daemon-reexec systemctl daemon-reload systemctlenablekubeletworker加入集群在master上生成命令# master上执行kubeadm token create --print-join-command# 输出如下kubeadmjoin192.168.8.200:6443 --token iuqevi.3shs27ifvvmb4nmd --discovery-token-ca-cert-hash sha256:cb06fb73ba742549576858d0925d7b9963f42179838431f605f330e78073c525在所有的worker节点导入镜像nerd load -i k8s_worker_images.tar在所有的worker节点上执行加入kubeadmjoin192.168.8.200:6443 --token iuqevi.3shs27ifvvmb4nmd --discovery-token-ca-cert-hash sha256:cb06fb73ba742549576858d0925d7b9963f42179838431f605f330e78073c525给worker节点打标签kubectl label node worker-01 node-role.kubernetes.io/worker查看节点[rootmaster-01 amd64]# kubectl get nodesNAME STATUS ROLES AGE VERSION master-01 Ready control-plane 13m v1.33.3 worker-01 Ready worker 8m32s v1.33.3Nginx测试使用我们提供的yaml进行测试部署成功后kubectl apply -f nginx.yml浏览器访问http://192.168.8.201:8080如果可以正常访问则说明整个k8s集群可以正常使用。可视化 UI 界面关于 UI 界面前面在K3s部分已经风险过了。可以访问以下链接安装企业级K8s Web UIKuboard-v3全文结束当kubectl get nodes在完全离线的终端上返回“Ready”状态时你完成的不仅仅是一个集群的安装。你是在一个受限但至关重要的环境中成功地复制并落地了一整套完整的云原生技术栈。这个过程深刻揭示了云原生技术的另一面其核心价值不仅在于弹性与敏捷更在于其作为一套标准能够被完整封装、迁移并在任何符合标准的环境中可靠运行。本次部署中准备的每一行脚本、每一个离线包和每一份配置都构成了团队未来在内网进行规模化和自动化交付的宝贵资产。对Linux国产化环境感兴趣的小伙伴可以星标置顶公众号后续会分享更多国产操作系统。比如银河麒麟、欧拉、统信UO等国产操作系统的相关文章。点个关注不迷路感谢大家支持资料包领取本文涉及到的所有的安装包小猿已经全部打包好。关注微信公众号云原生运维之道第一手文章优先在公众号更新扫下方二维码加V回复“领取k8s资料”即可领取全部资料。技术 交流群备注 “进群” 即可下期预告离线部署企业级块存储解决方案 Longhron离线部署企业级共享文件系统存储解决方案 NFS你们需要哪个在评论区留言吧。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询