从0到1:使用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
ansible-role-k3s是一个功能强大的Ansible角色,能够帮助用户轻松部署K3s集群,无论是单节点独立服务器还是高可用集群,都能通过简单的配置快速实现。本文将为你详细介绍如何从0开始,使用ansible-role-k3s构建企业级K3s集群的完整流程。
一、准备工作:环境与工具检查 ✅
在开始部署K3s集群之前,需要确保Ansible用户能够通过SSH密钥认证连接到服务器,并且拥有无需密码的sudo权限。可以通过以下命令进行测试:
ssh <ansible_user>@<server_name> 'sudo cat /etc/shadow >/dev/null && echo "Works"'
如果输出结果为“Works”,则说明环境准备就绪。
二、快速部署:单节点K3s集群搭建 🚀
2.1 目录结构设置
首先创建工作目录,并准备以下文件:
kubernetes-playground/ |_ inventory.yml |_ cluster.yml2.2 编写inventory文件
创建inventory.yml文件,定义集群节点信息:
--- k3s_cluster: hosts: kube-0: ansible_user: ansible ansible_host: 10.10.9.2 ansible_python_interpreter: /usr/bin/python3 kube-1: ansible_user: ansible ansible_host: 10.10.9.3 ansible_python_interpreter: /usr/bin/python3 kube-2: ansible_user: ansible ansible_host: 10.10.9.4 ansible_python_interpreter: /usr/bin/python32.3 创建playbook文件
编写cluster.ymlplaybook:
--- - name: Build a cluster with a single control node hosts: k3s_cluster vars: k3s_become: true roles: - role: xanmanning.k3s2.4 执行部署命令
运行以下命令开始部署单节点K3s集群:
ansible-playbook -i inventory.yml cluster.yml
部署成功后,通过ansible -i inventory.yml -m ping all命令可以检查节点连接状态。
三、高可用部署:嵌入式etcd的HA集群配置 🛡️
3.1 准备inventory文件
创建适用于HA集群的inventory.yml,为每个节点添加k3s_control_node: true:
--- k3s_cluster: hosts: kube-0: ansible_user: ansible ansible_host: 10.10.9.2 ansible_python_interpreter: /usr/bin/python3 k3s_control_node: true kube-1: ansible_user: ansible ansible_host: 10.10.9.3 ansible_python_interpreter: /usr/bin/python3 k3s_control_node: true kube-2: ansible_user: ansible ansible_host: 10.10.9.4 ansible_python_interpreter: /usr/bin/python3 k3s_control_node: true3.2 编写HA集群playbook
创建ha_cluster.yml文件,启用嵌入式etcd数据存储:
--- - name: Build a cluster with HA control plane hosts: k3s_cluster vars: k3s_become: true k3s_etcd_datastore: true k3s_use_experimental: true # Note this is required for k3s < v1.19.5+k3s1 roles: - role: xanmanning.k3s3.3 执行HA集群部署
运行以下命令部署高可用K3s集群:
ansible-playbook -i inventory.yml ha_cluster.yml
四、集群验证:检查部署结果 🔍
4.1 查看节点状态
登录任意控制节点,执行以下命令检查节点状态:
sudo kubectl get nodes -o wide
成功部署后,所有节点状态应显示为“Ready”。
4.2 检查系统组件
通过以下命令查看K3s系统组件运行情况:
sudo kubectl get pods -o wide --all-namespaces
所有系统组件pod应处于“Running”或“Completed”状态。
五、进阶操作:集群管理与维护 🛠️
5.1 扩展集群
需要扩展集群时,只需在inventory文件中添加新节点信息,然后重新运行部署命令即可。相关操作可参考官方文档operations/extending-a-cluster.md。
5.2 更新K3s版本
更新K3s集群版本前,建议先备份数据。具体更新步骤可参考operations/updating-k3s.md。
5.3 停止与启动集群
如需停止或重启集群,可参考文档operations/stop-start-cluster.md中的Ansible方法进行操作。
六、总结:ansible-role-k3s的优势与适用场景 📊
ansible-role-k3s提供了简单高效的K3s集群部署方案,无论是开发测试环境还是生产环境,都能满足需求。通过Ansible的自动化能力,大大简化了K3s的部署和管理流程,让用户可以专注于业务应用的开发和运行。
如果你需要构建轻量级、高效的Kubernetes集群,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),仅供参考