📄🦌🙌🐟🏖️
杨杨得议
把复杂变简单,让技术创造价值
精选
按住 Shift 横向滚动
kolla-ansible部署openstack

kolla-ansible部署openstack

文章详细介绍了使用Kolla-ansible在Debian 12虚拟机上部署OpenStack单机版的全流程。首先在VirtualBox中规划NAT-Network和Host-only网络,创建虚拟机并配置静态IP,安装增强工具。然后关闭防火墙、更换国内源,安装基础软件及Docker。接着搭建Python虚拟环境,从源代码或pip安装Kolla-ansible,编辑globals.yml和passwords.yml配置文件。最终通过`kolla-ansible`命令依次执行bootstrap-servers、prechecks、deploy完成部署,并使用`kolla-ansible post-deploy`生成客户端令牌。文章还提供了部署报错(如dbus模块缺失)的解决办法,以及使用`destroy`命令清理集群的说明。读者可系统掌握基于Kolla-ansible自动化部署OpenStack的完整操作步骤和注意事项。

kolla构建openstack镜像

kolla构建openstack镜像

本文面向具备Linux、shell/Python基础的读者,详细介绍自动化镜像构建环境搭建及OpenStack组件Docker镜像构建流程。首先通过VirtualBox创建Debian12.6虚拟机,安装增强工具并完成基础配置(关闭防火墙、替换为中科大软件源)。安装基础软件(vim、python3、docker等),配置Docker国内镜像加速,并部署本地Docker仓库(监听端口4000)。重点介绍Kolla工具:推荐从源码安装,使用Python虚拟环境隔离依赖;通过kolla-build命令基于Debian系统构建OpenStack镜像,示例命令指定架构、超时时间、线程数和本地仓库地址。最后说明清理无用镜像的注意事项。读者可掌握从零搭建构建环境并自动化生成OpenStack容器镜像的完整方法。

通过noVNC和websockify连接到QEMU、KVM

通过noVNC和websockify连接到QEMU、KVM

noVNC 是基于 HTML5 的 VNC 客户端,可在浏览器中直接访问 QEMU/KVM 虚拟机的图形界面。通过修改 `/etc/libvirt/qemu.conf` 将 VNC 监听地址改为 `0.0.0.0`,并使用 `virsh vncdisplay` 获取虚拟机自动分配的 VNC 端口。部署时,可在宿主机 Node2 运行 noVNC 的 `launch.sh --vnc` 指向 VNC Server 所在宿主机 IP 及端口(如 `192.168.10.231:5900`),或在浏览器访问 `http://Node2_IP:6080/vnc.html` 即可连接。进阶用法可独立部署 websockify 代理,利用 Token 文件实现单端口多虚拟机映射,通过 URL 参数 `token=虚拟机标识` 切换目标。此外,websockify 可容器化运行,便于微服务管理。常见连接失败原因为 IP/端口错误或虚拟机未开机。该方案解决了从“有”到“优”的 Web 化虚拟机管理需求。

libvirt Java API用法连载之libvirt Java API使用详解(四)

libvirt Java API用法连载之libvirt Java API使用详解(四)

通过 libvirt Java API 可创建和管理虚拟机。首先使用 Connect 对象与 Hypervisor 建立连接(支持本地及远程 URI,远程可用 tcp 协议)。连接后可通过 NodeInfo 管理宿主机,Domain 管理虚拟机生命周期,StoragePool 与 StorageVolume 管理宿主机物理硬盘和虚拟机镜像。文章详细介绍了本地与远程连接方式、三种 Connect 构造函数、创建/查询/删除 StoragePool 与 StorageVolume 的方法,以及如何通过 XML 定义虚拟机并调用 domainCreateXML 或 domainDefineXML 创建临时或持久化虚拟机。还涉及网络桥接模式配置、镜像格式(raw 与 qcow2)说明,以及虚拟机起停、删除等生命周期操作。代码示例均基于 tcp 连接方式,便于测试。

libvirt Java API用法连载之libvirt C、Java API介绍与jna、libvirt Java SDK引入(三)

libvirt Java API用法连载之libvirt C、Java API介绍与jna、libvirt Java SDK引入(三)

libvirt 为 QEMU、KVM、Xen 等虚拟化技术提供统一 API,原生用 C 实现,并有 Python、Java 等语言绑定。核心术语包括 Hypervisor(VMM)、Domain(客户机)、Node(宿主机)、Storage Pool(存储池)和 Storage Volume(存储卷)。C API 分为连接 Hypervisor、管理 Domain、Node、网络、存储卷、存储池及事件等类别。Java API 通过 JNA 调用 C 库,分类与 C 类似,但事件管理 API 暂缺。使用 Java 微服务管理虚拟机时,需在服务器安装 libvirt-dev 动态链接库(如 Ubuntu 下 `apt-get install libvirt-dev`),或基于 Docker 镜像打包。项目中通过 Maven/Gradle 引入 libvirt 0.5.1 和 jna 3.5.0 依赖,也可直接导入 jar。