kolla多节点部署openstack

本文介绍如何使用Kolla工具在CentOS环境下部署一个多节点的OpenStack环境,包括配置PV、VG,安装Docker及Ansible,配置Kolla-ansible等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备两台机子
主节点:master
计算节点:node1
准备两块空白的盘,做后端存储用
开始之前:配置好hosts内容,无密钥连接,不做多余赘述
开始安装(双节点,#代表两个节点都要安装)

PV VG
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdc //盘符根据情况而定

#yum install epel-release -y
#yum update -y 
#yum install python-pip -y
#pip install -U pip
#yum install python-devel libffi-devel vim gcc git openssl-devel libselinux-python -y
安装docker
#curl -sSL https://get.daocloud.io/docker | sh
#pip install -U docker 安装Docker Python服务
#mkdir -p /etc/systemd/system/docker.service.d
#tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'
[Service]
MountFlags=shared
EOF
#systemctl daemon-reload &&
systemctl restart docker && systemctl enable docker

容器已经全部上传到github上面
http://tarballs.openstack.org/kolla/images/

master节点安装

安装ansible

yum install ansible -y
pip install ansible==2.5.0 (这个版本稳定)
pip install kolla-ansible
git clone https://github.com/openstack/kolla
git clone https://github.com/openstack/kolla-ansible
复制配置文件global.yml和password.yml到/etc/kolla/global.yml是Kolla-ansible最主要的配置文件,password.yml包含keystone和数据库的全部密码。

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
复制ansible的inventory文件到当前目录,inventory文件告诉ansible要在哪些node上执行命令,这里有all-in-one和multinode两种
cp /usr/share/kolla-ansible/ansible/inventory/* .
使用下面的命令检查当前主机是否支持硬件加速,由于是在virtualbox的虚机上安装,所以这里返回是0
egrep -c '(vmx|svm)' /proc/cpuinfo
在这种情况下要配置libvirt使用QEMU,而不能是KVM(嵌套虚拟化)
mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt_type = qemu
cpu_mode = none
EOF
安装kolla和kollla-ansible依赖
pip install -r kolla/requirements.txt
pip install -r kolla-ansible/requirements.txt
kolla密码
kolla-genpwd
ceph准备
 ansible  all -m shell -a 'parted /dev/sdd -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1'  
 ansible  all -m shell -a 'parted /dev/sdc -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP_J 1 -1' 
新建/etc/kolla/config/ceph.conf,指定ceph的一些参数,如副本数:
[global]  
osd pool default size = 1  
osd pool default min size = 1  (几块盘就写几个)
修改/etc/kolla/globals.ymll配置文件参数的
ceph_enable_cache=no
还有疑问可以百度 ceph in kolla
openstack 服务配置的修改,举例修改nova的virt_type为qemu
新建/etc/kolla/config/nova.conf
[libvirt]  
virt_type=qemu  
修改globals.yml配置文件
[root@master ~]# cat /etc/kolla/globals.yml |grep -v ^$ |grep -v ^#
---
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "queens"
kolla_internal_vip_address: "172.18.33.253"(第一张网卡内的IP地址)
docker_namespace: "kolla"
network_interface: "ens33"
neutron_external_interface: "ens34"
enable_central_logging: "yes"
enable_ceph: "yes"
enable_ceph_rgw: "yes"
enable_cinder: "yes"
glance_backend_ceph: "yes"
cinder_backend_ceph: "{{ enable_ceph }}"
tempest_image_id:
tempest_flavor_ref_id:
tempest_public_network_id:
tempest_floating_network_name:
修改multinode(后面的不用改)
[root@master ~]# cat multinode |grep -v ^# |grep -v ^$
[control]
master
[network]
master
node
[inner-compute]
[external-compute]
master
node
[compute:children]
inner-compute
external-compute
[monitoring]
master
[storage]
node
[deployment]
master       ansible_connection=local
[baremetal:children]
control
network
compute
storage
monitoring
………………
检查是否kolla环境依赖
kolla-ansible -i ./multinode bootstrap-servers
先检查有无错误:
kolla-ansible -i multinode prechecks  
没有报错直接进行安装:
kolla-ansible -i multinode deploy  
直至安装完成
安装命令行,openstack,glance,neutron
pip install python-openstackclient python-glanceclient python-neutronclien
生成rc文件(生成的文件在/etc/kolla/下面):
 kolla-ansible -i multinode post-deploy
编辑 /usr/share/kolla-ansible/init-runonce,
网络需要根据实际情况修改
EXT_NET_CIDR='192.168.12.0/24'
EXT_NET_RANGE='start=192.168.12.30,end=192.168.12.40'
EXT_NET_GATEWAY='192.168.12.1'
192.168.12.0的网络,就是第二张网卡接的网络,这个网络是通过路由器访问互联网,需要根据大家的实际情况配置,装完虚拟机就可以直接ping通。
. /usr/share/kolla-ansible/init-runonce

kolla-ansible -i multinode reconfigure  (后续修改配置文件,用这个来重新读取)
<think>好的,我需要帮助用户了解如何使用kolla-ansible在单节点上部署OpenStack。首先,用户提到了kolla-ansible deploy命令和相关的引用,我需要确保正确引用这些资料。接下来,我需要回忆kolla-ansible的基本步骤,包括环境准备、配置、部署和验证。 首先,用户可能需要安装依赖项,比如Docker和Python,这可以参考引用中的Docker资源。然后配置Kolla的globals.yml和inventory文件,特别是单节点设置,这需要将节点设置为本地IP或localhost。用户可能需要修改网络参数,如neutron_external_interface和network_interface,这部分需要详细说明。 接下来,生成密码和运行部署命令是关键步骤,确保用户正确执行kolla-ansible deploy命令。部署后的验证步骤,如获取admin-openrc和使用openstack命令检查服务状态,也需要详细说明。 用户可能遇到的常见问题包括网络配置错误、端口冲突或资源不足,需要提前给出解决方法。例如,检查neutron_external_interface是否有效,或者增加Docker内存。 最后,生成相关问题,帮助用户深入理解其他可能的部署场景和优化方法。需要确保问题覆盖多节点部署、配置文件作用、验证方法以及常见错误处理,这样用户能全面掌握kolla-ansible的使用。</think>### 使用 kolla-ansible 单节点部署 OpenStack 分步指南 #### 1. **环境准备** - **操作系统**: 推荐 Ubuntu 20.04/22.04 或 CentOS 8/9(需启用 EPEL 仓库) - **依赖安装**: ```bash sudo apt install python3-dev libffi-dev gcc libssl-dev git # Ubuntu sudo yum install python3-devel openssl-devel libffi-devel gcc # CentOS ``` - **安装 Python 虚拟环境**: ```bash sudo pip3 install -U pip sudo pip3 install virtualenv virtualenv ~/kolla-ansible-venv source ~/kolla-ansible-venv/bin/activate ``` #### 2. **安装 kolla-ansible** ```bash pip install 'ansible>=4,<6' kolla-ansible # 复制配置文件到系统目录 sudo mkdir -p /etc/kolla sudo cp -r ~/kolla-ansible-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/ sudo cp ~/kolla-ansible-venv/share/kolla-ansible/ansible/inventory/* /etc/kolla-ansible/ ``` #### 3. **配置单节点部署** - **修改 inventory 文件** (`/etc/kolla-ansible/inventory`): ```ini [control] localhost ansible_connection=local [network] localhost [compute] localhost [monitoring] localhost [storage] localhost [deployment] localhost ``` - **调整 globals.yml** (`/etc/kolla/globals.yml`): ```yaml kolla_base_distro: "centos" # 根据实际系统选择 kolla_install_type: "binary" openstack_release: "zed" # 指定版本号 network_interface: "eth0" # 替换为实际网卡名 neutron_external_interface: "eth1" # 外网接口(若无则设为空) enable_cinder: "no" # 单节点建议关闭块存储 enable_heat: "no" # 可选关闭编排服务 ``` #### 4. **密码生成与预检查** ```bash kolla-genpwd # 生成所有服务密码 kolla-ansible prechecks -i /etc/kolla-ansible/inventory ``` #### 5. **执行部署** ```bash kolla-ansible deploy -i /etc/kolla-ansible/inventory # 部署过程约30-60分钟[^1] ``` #### 6. **验证部署** ```bash kolla-ansible post-deploy source /etc/kolla/admin-openrc.sh openstack hypervisor list # 应显示localhost openstack network agent list # 检查所有服务状态为UP ``` #### 7. **访问 Dashboard** ```bash grep keystone_admin_password /etc/kolla/passwords.yml # 访问 https://[节点IP]:31000 使用 admin 用户登录 ``` ### 常见问题排查 1. **容器启动失败**: ```bash docker ps -a | grep exited # 查看异常容器 docker logs [容器ID] # 查看具体日志 ``` 2. **端口冲突**: - 检查 `netstat -tulnp | grep <端口号>` - 修改 `/etc/kolla/globals.yml` 中的服务端口配置 3. **资源不足**: - 建议单节点至少配置 16GB 内存 + 100GB 磁盘 - 调整 Docker 资源配置:`vim /etc/docker/daemon.json` ### 优化建议 - 启用 **Ceph 存储集成**(需额外配置) - 使用 **Load Balancer** 提升 API 服务可用性 - 配置 **OVS-DPDK** 提升网络性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值