如何在离线环境中使用ansible-role-k3s部署K3s集群:完整指南
【免费下载链接】ansible-role-k3sAnsible role for installing k3s as either a standalone server or HA cluster.项目地址: https://gitcode.com/gh_mirrors/an/ansible-role-k3s
在没有互联网连接的环境中部署K3s集群可能会面临诸多挑战,但借助ansible-role-k3s的离线部署功能,这一过程可以变得简单高效。本指南将详细介绍如何利用ansible-role-k3s在离线环境中部署K3s集群,帮助新手用户快速掌握关键步骤和配置方法。
一、准备离线部署环境
1.1 了解离线部署核心参数
ansible-role-k3s通过k3s_airgap参数控制离线部署模式,该参数默认值为false。在离线环境中,需要将其设置为true以启用空气间隙安装模式。相关配置可在defaults/main.yml文件中找到:
# Install K3s in Air Gapped scenarios k3s_airgap: false1.2 准备K3s二进制文件
在离线环境中,K3s二进制文件不会从GitHub自动下载,需要手动准备并放置在Ansible控制节点的./files/目录下。确保文件名为k3s,且具有可执行权限。二进制文件的版本应与计划部署的K3s版本匹配,可通过设置k3s_release_version参数指定。
二、配置Ansible角色
2.1 设置离线部署变量
在Ansible playbook中,需要明确设置以下关键变量以启用离线部署:
k3s_airgap: true k3s_release_version: v1.22.5+k3s1 # 替换为实际使用的版本 k3s_state: installed2.2 配置私有镜像仓库(可选)
如果集群需要拉取私有镜像,可通过k3s_registries参数配置私有仓库信息。相关配置位于defaults/main.yml文件中,示例如下:
k3s_registries: mirrors: docker.io: endpoint: - "https://mycustomreg.com:5000" configs: "mycustomreg:5000": auth: username: xxxxxx password: xxxxxx三、执行离线部署流程
3.1 克隆ansible-role-k3s仓库
首先,在Ansible控制节点上克隆项目仓库:
git clone https://gitcode.com/gh_mirrors/an/ansible-role-k3s3.2 复制K3s二进制文件
将准备好的K3s二进制文件复制到角色的files目录:
cp /path/to/local/k3s ansible-role-k3s/files/3.3 运行Ansible playbook
创建并执行Ansible playbook,指定离线部署参数:
- hosts: k3s_nodes roles: - role: ansible-role-k3s vars: k3s_airgap: true k3s_release_version: v1.22.5+k3s1 k3s_state: installed执行命令:
ansible-playbook -i inventory/offline_inventory.yml deploy_k3s.yml四、验证离线部署结果
4.1 检查K3s服务状态
部署完成后,在目标节点上检查K3s服务状态:
systemctl status k3s4.2 验证集群节点状态
通过kubectl命令检查集群节点是否正常运行:
kubectl get nodes五、离线部署注意事项
5.1 版本验证与风险提示
在离线模式下,Ansible角色不会验证K3s二进制文件的SHA256哈希值,也无法确认运行版本的正确性。用户需自行确保二进制文件的完整性和版本匹配,相关风险由用户承担。详情可参考README.md中的重要说明。
5.2 静态清单与配置文件
如需在离线环境中部署静态Pod或配置文件,可通过k3s_server_manifests_templates和k3s_server_pod_manifests_templates参数指定本地模板文件,确保这些文件已预先放置在Ansible控制节点的对应目录中。
通过以上步骤,您可以在完全离线的环境中成功部署K3s集群。ansible-role-k3s的空气间隙安装模式为无网络环境下的K3s部署提供了灵活且可靠的解决方案,特别适合企业内部隔离环境或网络受限场景。
【免费下载链接】ansible-role-k3sAnsible role for installing k3s as either a standalone server or HA cluster.项目地址: https://gitcode.com/gh_mirrors/an/ansible-role-k3s
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考