首页
/ Incus部署工具最佳实践

Incus部署工具最佳实践

2025-05-29 20:31:37作者:余洋婵Anita

1. 项目介绍

Incus是一个用于部署和运营Incus集群的开源项目。它包含了一系列的Ansible playbook、Terraform配置和脚本。这些工具能够帮助用户在物理服务器或虚拟机上快速搭建起Incus集群。

2. 项目快速启动

安装Incus和OpenTofu

首先,从zabbly/incus发布版本中安装Incus稳定版或LTS版,并在本地机器上初始化。

接着,安装OpenTofu。

创建测试虚拟机

  1. 切换到terraform目录:
    cd terraform/
    
  2. 初始化Terraform项目:
    tofu init
    
  3. 创建5个虚拟机以及相关的网络和存储卷以测试Incus集群:
    tofu apply -target=module.baremetal
    

运行Ansible Playbook

  1. 切换到ansible目录:
    cd ../ansible/
    
  2. 如果需要与测试相同的Ansible版本,执行以下命令:
    pyenv install 3.13.1
    pipenv --python "3.13.1" install
    pipenv shell
    ansible-galaxy install -r ansible_requirements.yml
    
  3. 复制示例库存文件:
    cp hosts.yaml.example hosts.yaml
    
  4. 运行Playbooks:
    ansible-playbook deploy.yaml
    

清理环境

如果重新部署相同的集群,需要清除data目录下的本地状态,否则Ceph/OVN会尝试连接到之前部署的系统,导致部署过程卡住:

rm -r ansible/data/ceph/*
rm -r ansible/data/lvmcluster/*
rm -r ansible/data/ovn/*

3. 应用案例和最佳实践

测试集群中的虚拟机和容器

  • 在Incus集群节点上打开shell:
    incus exec server01 bash
    
  • 列出所有实例:
    incus list
    
  • 启动一个系统容器:
    incus launch images:ubuntu/22.04 ubuntu-container
    
  • 启动一个虚拟机:
    incus launch images:ubuntu/22.04 ubuntu-vm --vm
    
  • 启动一个应用容器:
    incus remote add oci-docker https://docker.io --protocol=oci
    incus launch oci-docker:hello-world --ephemeral --console
    incus launch oci-docker:nginx nginx-app-container
    

4. 典型生态项目

在Incus的生态中,可以找到许多与之配合使用的项目,如Ceph用于存储解决方案,OVN用于网络虚拟化等。用户可以根据自己的需求选择合适的项目来扩展Incus的功能。

登录后查看全文
热门项目推荐