# k3s **Repository Path**: rancher_cn/k3s ## Basic Information - **Project Name**: k3s - **Description**: k3s国内部署物料,一键部署脚本 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: v1.30.6+k3s1 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-11-24 - **Last Updated**: 2025-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # K3s一键部署脚本 版本号:v1.30.6+k3s1
物料下载: https://www.tonyandmoney.cn/assets/k3s/v1_30_6/ 如可上github可下载最新物料: https://github.com/k3s-io/k3s/releases/tag/v1.30.6%2Bk3s1
## k3s部署 ### 说明 k3S部署极快,几分钟即可部署完一个k3s集群 ### 1、安装docker 先自行百度安装,暂时必须,k3s默认容器是contained,非docker,本脚本使用docker作为容器的运行时,比较熟悉点 ### 下载物料 - 下载 k3s-airgap-images-xxx.tar.gz 到[materials](materials),文件名称跟config.yaml配置项k3s_images_name保持一致即可 - 下载 sha256sum-xxx.txt 到[materials](materials)下,文件名与config.yaml中k3s_images_sha256保持一致 - 下载对应CPU架构的k3s文件到[materials](materials) 下并重命名为k3s ### 配置文件修改 按照提示修改文件 - 配置文件: [config.yaml](config.yaml) - 任务脚本: [jobs](jobs) ,(按需,可不修改) ### 安装私有镜像中心 如果使用外置的镜像中心,可跳过该步骤,该任务会创建一个单节点的镜像中心服务registry:2,并将k3s所需的镜像推送到该服务 ```shell ## windows下安装 .\tools\deploy-tools.exe --jobfile .\jobs\install_registry.yaml ## linux chmod +x tools/deploy-tools tools/deploy-tools --jobfile ./jobs/install_registry.yaml ``` ### 安装K3s ```shell ## windows下安装 .\tools\deploy-tools.exe --jobfile .\jobs\install_k3s.yaml ## linux chmod +x tools/deploy-tools tools/deploy-tools --jobfile ./jobs/install_k3s.yaml ``` 安装脚本不区分master和agent,按照规划配置好config.yaml中的主机标签tags即可。 如果有新增agent,可在config.yaml中添加主机后,再次执行该脚本(请勿删除temp下的文件,否则会重复执行脚本)。 - 如果某个任务执行完成,但是需要再次执行,可删除 temp/records.yaml中对应的记录 ## Rancher **版本:2.10.0** ### 安装准备 下载物料到materials下,下载地址: https://www.tonyandmoney.cn/assets/k3s/v1_30_6/rancher.v2.10.0.tar.gz ### 安装脚本 ```shell ## windows下 .\tools\deploy-tools.exe --jobfile .\jobs\install_rancher.yaml ## linux下 ./tools/deploy-tool --jobfile ./jobs/install_rancher.yaml ``` ## Longhorn云原生存储 **版本:1.7.2** ### 安装准备 下载物料到materials: https://www.tonyandmoney.cn/assets/k3s/v1_30_6/longhorn-1.7.2.tar.gz 确保软件仓库源可以使用,需要安装部分常用软件,以下脚本中以存在,请按照服务器系统调整命令,位于[install_longhorn.yaml](jobs%2Finstall_longhorn.yaml) ```shell apt install nfs-common -y # 加载内核模块: dm_crypt,在/etc/modules-load.d/modules.conf添加一行dm_crypt modprobe dm_crypt # 停掉多路径Multipathd或者配置白名单 # 以上脚本中有涉及,但是不会因安装失败退出,请注意日志,手动修正 systemctl stop multipathd.socket systemctl stop multipathd systemctl disable multipathd.socket systemctl disable multipathd ``` ### 安装脚本 ```shell ## windows下 .\tools\deploy-tools.exe --jobfile .\jobs\install_longhorn.yaml ## linux下 ./tools/deploy-tool --jobfile ./jobs/install_longhorn.yaml ``` ## 安装 kubernetes-dashboard ```shell # 安装 helm install kubernetes-dashboard k3s/kubernetes-dashboard --namespace kubernetes-dashboard --create-namespace . -f ./values.yaml # 卸载 helm upgrade kubernetes-dashboard k3s/kubernetes-dashboard --namespace kubernetes-dashboard --create-namespace . ``` ## 常用操作 ### helm保存chart 以Longhorn为例 ```shell ## 添加仓库 helm repo add longhorn https://charts.longhorn.io ## 保存指定版本到本地 helm fetch longhorn/longhorn --version 1.7.2 ## 从本地安装 helm install longhorn ./longhorn-1.7.2.tgz --namespace longhorn-system --create-namespace --version 1.7.2 ``` ## 问题记录 - 部署前在master上打了污点,flannel网关模式使用host-gw模式,部署Longhorn时longhorn-manager在agent节点上起不来,报proxy 127.0.0.1:6443 错误之类的 ```shell ## 解决版本,将agent上的6443端口重定向到master节点 ## 比如agent节点的pod 网段为:10.24.1.0/24,master的pod网段为10.24.0.0/24 iptables -t nat -A PREROUTING -p tcp --dport 6443 -j DNAT --to-destination 10.24.0.1:6443 ## 确保 iptables FORWARD 链允许转发的流量 iptables -A FORWARD -p tcp -d 10.24.0.1 --dport 6443 -j ACCEPT ## 应用伪装规则以允许正确路由响应 iptables -t nat -A POSTROUTING -p tcp -d 10.24.0.1 --dport 6443 -j MASQUERADE iptables -t nat -A POSTROUTING -p tcp -d 10.24.0.1 --dport 6443 -j SNAT --to 10.24.1.1 ## 以上设置貌似没什么用,回头在研究下 ```