使用Kubeeasy工具快速部署kubernetes镜像链接https://pan.baidu.com/s/1zA0cWvXZXxZPSUceNaJHDA提取码8888Kubeeasy 部署 Kubernetes 与传统部署方式的对比Kubeeasy 是一个面向企业级用户设计的 Kubernetes 自动化部署与管理工具旨在简化集群的搭建、运维和扩展流程。相较于传统的手动或脚本化部署方式Kubeeasy 在多个维度上提供了显著差异与优势。部署效率与自动化程度传统部署依赖人工编写 Ansible 脚本、Shell 脚本或使用 kubeadm 手动初始化控制平面与工作节点过程繁琐且易出错。需逐台配置系统环境、安装 Docker/CRI-O、配置 kubeconfig、分发证书等。Kubeeasy 提供一键式部署功能通过图形化界面或 CLI 工具完成从主机准备到集群运行的全流程自动化。支持多节点并行部署极大缩短部署时间减少人为失误。环境一致性与可重复性传统部署中不同运维人员的操作习惯可能导致节点间配置不一致引发兼容性问题。例如内核参数、防火墙规则、CNI 插件版本存在差异。Kubeeasy 内置标准化模板统一定义操作系统要求、安全策略、网络插件如 Calico、Flannel、存储驱动等确保所有节点环境一致实现“一次配置处处可用”的可重复部署能力。集群生命周期管理传统方式下升级、扩容、故障恢复等操作需手动执行命令缺乏统一视图和回滚机制。Kubeeasy 提供完整的集群生命周期管理功能支持滚动升级控制平面与工作节点可视化查看节点状态、资源使用、组件健康度支持快速扩缩容自动同步配置提供备份与恢复机制保障数据安全安全性与合规性传统部署中证书生成、RBAC 权限分配、网络策略配置常因疏忽导致安全隐患。Kubeeasy 集成安全最佳实践自动生成加密证书并集中管理默认启用 Pod Security PoliciesPSP与 NetworkPolicy支持基于角色的细粒度权限控制提供审计日志记录与合规检查报告多集群与混合云支持传统部署通常局限于单一物理或虚拟环境跨数据中心或公有云迁移复杂。Kubeeasy 支持多集群统一管理可在私有云、公有云如 AWS、Azure、阿里云及边缘节点之间灵活部署。通过中心化控制台实现跨集群应用分发、监控与策略同步。运维可视化与可观测性集成传统部署后需额外集成 Prometheus、Grafana、ELK 等工具才能实现可观测性。Kubeeasy 原生集成常用监控与日志组件提供开箱即用的仪表盘实时展示集群资源使用率、节点负载、Pod 状态支持告警规则配置与通知推送邮件、钉钉、企业微信日志采集与分析一体化便于故障排查成本与资源利用率优化传统部署往往因配置不当导致资源浪费如过度分配内存或未合理设置资源请求/限制。Kubeeasy 提供智能资源建议功能基于历史负载数据推荐合理的资源配额并支持自动调度优化提升整体资源利用率降低运营成本。总结Kubeeasy 的核心优势维度传统部署Kubeeasy部署速度慢依赖人工快速全自动环境一致性难保证强一致生命周期管理手动复杂可视化自动化安全性依赖经验内置安全策略多集群支持低效难维护高效统一管理可观测性需额外集成开箱即用运维成本高显著降低选择 Kubeeasy 不仅是部署方式的改变更是从“运维驱动”向“平台驱动”的转型适用于希望快速构建稳定、安全、可扩展 Kubernetes 生产环境的企业用户。一、环境准备主机名IP节点localhost192.168.100.10masterlocalhost192.168.100.20node1、关闭防火墙[rootlocalhost ~]# systemctl stop firewalld systemctl disable firewalld[rootlocalhost ~]# setenforce 02、配置免密连接[rootlocalhost ~]# ssh-keygenGenerating public/private rsa key pair. Enterfileinwhichto save the key(/root/.ssh/id_rsa): Created directory/root/.ssh.Enter passphrase(emptyforno passphrase): Enter same passphrase again: Your identification has been savedin/root/.ssh/id_rsa Your public key has been savedin/root/.ssh/id_rsa.pub The key fingerprint is: SHA256:Gji1hV/8zJH4hM7QBndVyVfnST6SXuhwQNedxKPWk0w rootlocalhost.localdomain The keys randomart image is: ---[RSA3072]----|.oo.o*O||.o.E||o o B.||o * *o.||o o S o *o.||.o||.|||||----[SHA256]-----[rootlocalhost ~]# ssh-copy-id 192.168.100.20二、实验部署1、将安装包 chinaskills_cloud_paas_v2.1.iso 下载至 masternode 节点/root 目录[rootlocalhost ~]# lsanaconda-ks.cfg chinaskills_cloud_paas_v2.1_1.iso[rootlocalhost ~]# mount -o loop chinaskills_cloud_paas_v2.1_1.iso /mnt/mount: /dev/loop0 写保护将以只读方式挂载rootlocalhost ~]# cp -rfv /mnt/* /opt//mnt/dependencies-/opt/dependencies/mnt/dependencies/packages-lists.txt-/opt/dependencies/packages-lists.txt/mnt/dependencies/packages.tar.gz-/opt/dependencies/packages.tar.gz/mnt/kubeeasy.tar.gz-/opt/kubeeasy.tar.gz/mnt/kubeeasy-v2.0-/opt/kubeeasy-v2.0[rootmaster ~]# umount /mnt/2、在两节点安装 kubeeasy 工具[rootlocalhost ~]# mv /opt/kubeeasy-v2.0 /usr/bin/kubeeasy3、在两节点安装依赖包[rootlocalhost]# tar -zxvf /opt/dependencies/packages.tar.gz -C /opt/dependencies/[rootlocalhost packages]# dnf -y install /opt/dependencies/packages/*4、在master节点安装 Kubernetes 集群rootmaster dependencies]#kubeeasyinstalldepend--host192.168.100.10,192.168.100.20--userroot--password000000 --offline-file /opt/dependencies/packages.tar.gz#密码 ip等自己根据实际情况修改如果前面你的node节点和master节点一样操作这步可做可不做安装过程中可另外打开一个 master节点的窗口使用“tail -f /var/log/kubeinstall.log”命令查看安装详细步骤。无任何报错就ok了可做可不做[rootmaster ~]#kubeeasyinstallkubernetes--master192.168.100.10--worker192.168.100.20--userroot--password000000--version1.25.2 --offline-file /opt/kubeeasy.tar.gz注意如果报错tar: kubeeasy/harbor/conf/notary-signer.json: Cannot write: No space left on device tar: kubeeasy/harbor/values.yaml: Cannot write: No space left on device tar: kubeeasy/dashboard.tgz: Cannot write: No space left on device tar: Exiting with failure status due to previous errors......通过bind mount把/data/tmp覆盖到/tmp立即扩大临时目录可用空间解决ISO 解压或大文件暂存时“空间不足”问题无需重启、无需格式化(俩节点都做)[rootlocalhost ~]# rm -rf /tmp*[rootlocalhost ~]# mkdir -p /data/tmp[rootlocalhost ~]# mount --bind /data/tmp/ /tmp/[rootlocalhost ~]# df -h /tmp/Filesystem Size Used Avail Use% Mounted on /dev/mapper/openeuler-root 89G7.1G 77G9% /tmp5、检查[rootk8s-master-node1 ~]# kubectl get pods -ANAMESPACE NAME READY STATUS RESTARTS AGE harbor harbor-chartmuseum-6879b85648-qdqlp1/1 Running041m harbor harbor-core-67d76f899d-zq9wp1/1 Running041m harbor harbor-database-01/1 Running041m harbor harbor-jobservice-df7b7bc85-r7msk1/1 Running3(40m ago)41m harbor harbor-nginx-7599458b66-v4wvj1/1 Running041m harbor harbor-notary-server-69d756c4c-75wt41/1 Running041m harbor harbor-notary-signer-75b5545fc-kvsqq1/1 Running041m harbor harbor-portal-67d8547c5f-dnt9g1/1 Running041m harbor harbor-redis-01/1 Running041m harbor harbor-registry-fbd67bdfd-kd7822/2 Running041m harbor harbor-trivy-01/1 Running041m istio-system grafana-56bdf8bf85-z5fmw1/1 Running041m istio-system istio-egressgateway-fffc799cf-s25981/1 Running042m istio-system istio-ingressgateway-7d68764b55-89kvh1/1 Running042m istio-system istiod-5456fd558d-t5khx1/1 Running042m istio-system jaeger-c4fdf6674-vp6sm1/1 Running041m istio-system kiali-8f955f859-79vwg1/1 Running041m istio-system prometheus-85949fddb-fh48q2/2 Running041m kube-system coredns-565d847f94-f5p291/1 Running044m kube-system coredns-565d847f94-lr6sm1/1 Running044m kube-system dashboard-metrics-scraper-64bcc67c9c-c4bmt1/1 Running044m kube-system dashboard-portainer-695648f848-hxj7z1/1 Running041m kube-system etcd-k8s-master-node11/1 Running044m kube-system kube-apiserver-k8s-master-node11/1 Running044m kube-system kube-controller-manager-k8s-master-node11/1 Running044m kube-system kube-flannel-ds-5pk251/1 Running044m kube-system kube-flannel-ds-s8lj71/1 Running044m kube-system kube-proxy-jlwbq1/1 Running044m kube-system kube-proxy-l7p651/1 Running044m kube-system kube-scheduler-k8s-master-node11/1 Running044m kube-system kubernetes-dashboard-74b66d7f9c-rf2xq1/1 Running044m kube-system metrics-server-84c4f4fb8d-n7jtw1/1 Running044m kube-system nfs-client-provisioner-5947b7c5b9-77sdx1/1 Running043m kubevirt virt-api-5dd9ccbc96-2ngqv1/1 Running043m kubevirt virt-api-5dd9ccbc96-kggvt1/1 Running043m kubevirt virt-controller-7659874849-nrwpz1/1 Running042m kubevirt virt-controller-7659874849-thkwj1/1 Running042m kubevirt virt-handler-bpbfr1/1 Running042m kubevirt virt-handler-h4rrj1/1 Running042m kubevirt virt-operator-5db8d9f8f9-f267k1/1 Running043m kubevirt virt-operator-5db8d9f8f9-vllr41/1 Running043m[rootk8s-master-node1 ~]#[rootk8s-master-node1 ~]# kubectl get nodesNAME STATUS ROLES AGE VERSION k8s-master-node1 Ready control-plane 45m v1.25.2 k8s-worker-node1 Readynone44m v1.25.2kubernetes到这里就已经部署完成了补充如果net.ipv4.ip_forward0建议改成1操作如下#开启 Linux 内核 IPv4 转发,开启 ip_forward1使节点具备路由转发能力满足 K8s 跨节点 Pod 通信、Service 负载均衡及外网访问需求,否则 Pod 无法跨节点通信Service 与外网访问均失败[rootlocalhost ~]# cat /etc/sysctl.conf | grep net.ipv4.ip_forwardnet.ipv4.ip_forward0[rootlocalhost ~]# echo 1 /proc/sys/net/ipv4/ip_forward[rootlocalhost ~]# echo net.ipv4.ip_forward 1 /etc/sysctl.conf[rootlocalhost ~]# cat /etc/sysctl.conf | grep net.ipv4.ip_forwardnet.ipv4.ip_forward1
阅读完成 · 觉得有帮助?