一、准备服务器资源:
节点 | IP | 主机名 | 配置 |
---|---|---|---|
控制节点 | 192.168.199.142 | controller | 2核4g |
计算节点 | 192.168.199.143 | compute1 | 2核4g |
二、搭建 python3 环境
controller && compute1:
参考 314. 【Python】linux 环境搭建 python3
三、关闭防火墙和 selinux
controller && compute1:
参考 315.【Linux】云环境搭建准备——关闭防火墙
四、编辑 host 文件
controller && compute1:
五、修改主机名
controller:
hostnamectl set-hostname controller
compute1:
hostnamectl set-hostname compute1
六、新建虚拟网卡(有多网卡无需配置)
controller:
ifconfig eth33:0 10.10.0.2 up
compute1:
ifconfig eth33:0 10.10.0.3 up
七、存储节点
pvcreate /dev/sdb
# cinder-volumes,这里跟 kolla配置文件里vg名一致
vgcreate cinder-volumes /dev/sdb
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DiX8QUAm-1677317753377)(https://upload-images.jianshu.io/upload_images/26608654-c38d1f8232743f8b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
八、互信任
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa root@controller
ssh-copy-id -i ~/.ssh/id_rsa root@compute
ssh-copy-id -i ~/.ssh/id_rsa root@network
ssh-copy-id -i ~/.ssh/id_rsa root@storage
ssh-copy-id -i ~/.ssh/id_rsa root@monitor
九、所有节点设置数据包转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
十、安装 kolla-ansible、ansible
pip3 install kolla-ansible
pip3 install ansible
十一、复制 kolla-ansible 的配置
cp -r /usr/local/python39/share/kolla-ansible/etc_examples/kolla /etc/
十二、修改kolla-ansible 的全局配置
cd /etc/kolla/
vim globals.yml
底下这些是我修改的配置
# 选择下载的基础镜像
kolla_base_distro: "centos"
# 选择的安装方法:binary二进制安装,source源码安装
kolla_install_type: "source"
# 选择OpenStack的版本标签,详细请看:https://releases.openstack.org/
openstack_release: "yoga"
# OpenStack内部管理网络地址,通过该IP访问OpenStack Web页面进行管理。如果启用了高可用,需要设置为VIP(浮动IP)
kolla_internal_vip_address: "10.10.0.151"
# OpenStack外部管理网络地址
kolla_external_vip_address: "192.168.199.151"
# docker 命名空间
docker_namespace: "kolla"
# OpenStack内部管理网络地址的网卡接口
network_interface: "ens33:0"
# OpenStack外部(或公共)网络的网卡接口,可以是vlan模式或flat模式,此网卡应该在没有IP地址的情况下处于活动,如果不是,那么OpenStack云平台中的云主机实例将无法访问外部网络。(存在IP时br-ex桥接就不成功)
neutron_external_interface: "ens33"
# neutron网络服务插件
neutron_plugin_agent: "openvswitch"
# 启用cinder(块存储)
enable_cinder: "yes"
# cinder(块存储)后端启用lvm
enable_cinder_backend_lvm: "yes"
# 开启web界面
enable_horizon: "yes"
# 开启neutron网络服务
enable_neutron_provider_networks: "yes"
十三、修改密码
kolla-genpwd
# 修改 keystone_admin_password: admin 保存即可
vim /etc/kolla/passwords.yml
十四、multinode 配置
# These initial groups are the only groups required to be modified. The
# additional groups are for more control of the environment.
[control]
# These hostname must be resolvable from your deployment host
controller
# The above can also be specified as follows:
# control[01:03] ansible_user=kolla
# The network nodes are where your l3-agent and loadbalancers will run
# This can be the same as a host in the control group
[network]
network
[compute]
compute1
[monitoring]
monitor
# When compute nodes and control nodes use different interfaces,
# you need to comment out "api_interface" and other interfaces from the globals.yml
# and specify like below:
# compute01 neutron_external_interface=eth0 api_interface=em1 storage_interface=em1 tunnel_interface=em1
[storage]
storage
[deployment]
localhost ansible_connection=local
python3 -m pip install kolla
pip3 install kolla-ansible
cd /usr/local/python39/share/kolla-ansible/etc_examples/kolla/
cp -r ./* /etc/kolla
pip3 install --upgrade setuptools
pip3 install ansible