我尝试按照此文档和许多其他文档使用 Kolla-Ansible 部署多节点 OpenStack 云: https://docs.openstack.org/project-deploy-guide/kolla-ansible/2023.1/multinode.html。我想在这里澄清一下,我对 OpenStack 还很陌生,希望得到专业人士的指导。
节点包括 1 个 Kolla 节点、1 个控制节点、1 个计算节点和 1 个存储节点。所有节点都是托管在 VMware vSphere 集群上的虚拟机。每个节点都有 2 个 NIC,都连接到同一个端口组(例如 VLAN 100)。除了 Kolla 节点只有一个 NIC 并且也连接到 VLAN 100 端口组。所有节点都运行 Rocky Linux 9。
VLAN 100 的子网为 ,10.0.32/0
其网关位于外部防火墙上10.0.32.1
。因此,对于每个节点,我使用第一个 NIC(ens192)作为 ,network_interface
并在文件api_interface
中配置globals.yml
。同时,第二个 NIC(ens224)用于neutron_external_interface
。
我已使用脚本设置了一个测试环境init-runonce
,并修改了中的信息EXT_NET_CIDR
以用作10.0.32.0/20
外部网络。该脚本创建了 1 个名为 的虚拟路由器demo-router
、1 个名为 的网络demo-net
和 1 个名为 的实例demo1
。之后,我创建了 1 个新实例、demo2
1 个名为 的新网络demo-net1
,并将其连接到同一个虚拟路由器。两个实例都可以从不同的子网/网络相互 ping 通。
实例图像,网络拓扑结构,从 demo1 到 demo2 进行 Ping 测试
但是,我似乎无法 ping 通 Internet 上的某些东西,例如1.1.1.1
,甚至是外部网关10.0.32.1
。从 demo1 ping 互联网和外部网关。我已将我的多模式库存和globals.yml
配置片段包含在下面。
# multinode config file
[control]
control-node1
[Network]
control-node1
[compute]
compute-node1
[Monitoring]
control-node1
[Storage]
storage-node1
[deployment]
localhost ansible_connection=local
# /etc/kolla/globals.yml file
kolla_base_distro: "rocky"
network_interface: "ens192"
api_interface: "ens192"
neutron_external_interface: "ens224"
enable_openstack_core: "yes"
enable_neutron: "{{ enable_openstack_core | bool }}"
neutron_plugin_agent: "open switch"
enable_openvswitch: "{{ enable_neutron | bool and neutron_plugin_agent != 'Linux bridge' }}"
另外,我有一些关于网络接口和存储的问题。
- 是否可以在节点上使用单独的物理 NIC 来处理管理、外部、存储和实时迁移流量?我知道这
neutron_external_interface
是用于外部 NIC 和api_interface
用于管理 NIC。存储和实时迁移呢?有没有办法在 Kolla Ansible 中设置它? - 我已经配置了一个存储节点,
storage-node1
并使用 LVM 后端启用了 Cinder。
enable_cinder: "Yes"
enable_cinder_backend_lvm: "Yes"
我如何将其用作 Nova VM 的存储而不是计算节点本地磁盘?
感谢大家的帮助和建议:)
答案1
你最后明白这一点了吗?
我如何将其用作 Nova VM 的存储而不是计算节点本地磁盘?
我目前正在做同样的事情,当我配置一个实例时,它会在存储节点上创建磁盘,但实例无法将其附加到启动节点。我的想法是它将使用管理适配器,但我看到 iSCSI 错误。