![cover](https://img-blog.csdnimg.cn/img_convert/0778570e7db84b03a5fc92bea615b826.png)
【OpenStack】Ubuntu22.04部署OpenStack-zed all-in-one
本地安装建议使用清华源,比阿里的源速度快N倍。本文以VMWare中创建的虚拟机为例。
·
Ubuntu22.04部署OpenStack@stable/zed all-in-one
- 一.环境准备
- 二.开启ROOT远程登录
- 三.常用工具
- 四.安装OpenStack
- 1.基础工具安装
- 2.安装并创建虚拟环境
- 3.进入虚拟环境
- 4.升级pip并配置国内源
- 5.安装ansible
- 6.安装对应openstack版本的kolla-ansible
- 7.创建配置文件目录并附加权限
- 8.复制配置文件
- 9.复制依赖文件到当前目录
- 10.安装ansible依赖
- 11.生成密码到/etc/kolla/passwords.yml文件中
- 12.修改/etc/kolla/passwords.yml中登录密码
- 13.修改/etc/kolla/globals.yml文件,配置并开启服务
- 14.cinder存储配置
- 15.预配置
- 16.环境检测
- 17.开始部署
- 18.安装客户端
- 19.生成clouds.yaml文件
- 20.访问web管理页面
- 附
- 部署参考文章:
一.环境准备
本文以VMWare中创建的虚拟机为例
硬件 | 规格 | 备注 |
---|---|---|
网卡1 | 已分配内网IP,以ens33为例 | |
网卡2 | 不需要分配IP,以ens37为例 | |
系统盘 | 60G+ | 用于安装系统及挂载存储 |
数据盘 | 100G+ | 初始不需要分区,后续操作用 |
二.开启ROOT远程登录
- 使用现有账号登录设置root密码:
sudo passwd root
- 修改sshd配置开启远程登录:
sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
systemctl restart sshd
三.常用工具
工具名称 | 用途 |
---|---|
gparted | 带图形化界面的分区工具 |
fdisk | 命令行分区管理工具 |
net-tools | 网络工具(使用ifconfig需要安装此包) |
四.安装OpenStack
-
注:本次安装基于OpenStack官方文档,并且对遇到的安装问题进行补充。
- 点击此处查看官方文档
1.基础工具安装
# 安装python工具等
apt install git python3-dev libffi-dev gcc libssl-dev -y
2.安装并创建虚拟环境
虚拟环境路径可自定义,本文以"/opt/openstack/venv"为例。
# 安装虚拟环境包
apt install python3-venv -y
# 创建虚拟环境
python3 -m venv /opt/openstack/venv
3.进入虚拟环境
source /opt/openstack/venv/bin/activate
注:后续操作都在虚拟环境下进行,如果要退出虚拟环境请使用一下命令
deactivate
4.升级pip并配置国内源
本地安装建议使用清华源,比阿里的源速度快N倍。
# pip3临时使用清华源更新pip
pip3 install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple
# pip设置清华源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
5.安装ansible
pip install 'ansible>=4,<6'
6.安装对应openstack版本的kolla-ansible
pip install git+https://opendev.org/openstack/kolla-ansible@stable/zed
7.创建配置文件目录并附加权限
sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla
8.复制配置文件
# 复制配置文件到配置文件目录
cp -r /opt/openstack/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
9.复制依赖文件到当前目录
cp /opt/openstack/venv/share/kolla-ansible/ansible/inventory/all-in-one .
10.安装ansible依赖
kolla-ansible install-deps
11.生成密码到/etc/kolla/passwords.yml文件中
注:要配置的密码有很多,可以手动编辑文件进行配置,也可以执行下面命令自动生成。
kolla-genpwd
12.修改/etc/kolla/passwords.yml中登录密码
找到文件中key控制台登录密码的key:keystone_admin_password
或者直接使用命令替换
sed -i 's/^keystone_admin_password.*/keystone_admin_password: 自定义密码/' /etc/kolla/passwords.yml
13.修改/etc/kolla/globals.yml文件,配置并开启服务
# 基础配置:
kolla_base_distro: 系统配置,修改为ubuntu即可
openstack_release: openstack版本,本文使用的zed
kolla_internal_vip_address: 用来访问web控制台,
如果enable_haproxy为no则配置一个单独的IP,
否则使用network_interface网卡分配的IP
network_interface: 内部网卡名称,本文是ens33
neutron_external_interface: 外部网卡名称,本文是ens37
# 服务组件配置:
enable_haproxy: "no" #高可用,如果为yes则kolla_internal_vip_address可以使用独立IP
enable_cinder: "yes" #块存储
enable_cinder_backup: "no"
enable_cinder_backend_lvm: "yes" #使用逻辑存储
enable_neutron_provider_networks: "yes" # 启用外部网络
nova_compute_virt_type: "qemu" # 虚拟化类型(物理机用kvm,VMWare使用qemu)
nova_console: "spice"
14.cinder存储配置
# a.查看存储节点的盘:
ansible -i all-in-one "storage*" -a "lsblk"
# b.格式化并且创建分区组
mkfs.ext4 /dev/sdb
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb
15.预配置
# 基础环境安装,比如docker等
kolla-ansible -i ./all-in-one bootstrap-servers
16.环境检测
kolla-ansible -i ./all-in-one prechecks
注意:如果检测在Checking docker SDK报错找不到docker模块的话,修改all-in-one文件内容如下。
[deployment]
localhost ansible_connection=local ansible_python_interpreter="{{ ansible_playbook_python }}"
17.开始部署
kolla-ansible -i ./all-in-one deploy
18.安装客户端
pip install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
19.生成clouds.yaml文件
kolla-ansible post-deploy
20.访问web管理页面
http://kolla_internal_vip_address配置的ip/
用户名:admin
密码:/etc/kolla/passwords.yml中keystone_admin_password的密码
附
一.修改web管理页面端口
1.修改horizon端口并重启服务
cd /etc/kolla/horizon
vim horizon.conf
# 修改内容如下
Listen ip:80 => Listen ip:想要使用的端口
<VirtualHost ip:80> => <VirtualHost ip:想要使用的端口>
# 修改完后保存horizon.conf文件
vim local_settings
# 搜索80
/80
# 会看到如下节点
'http': {
'name': 'HTTP',
'ip_protocol': 'tcp',
'from_port': '80',
'to_port': '80',
},
# 修改from_port和to_port为想要使用的端口
'http': {
'name': 'HTTP',
'ip_protocol': 'tcp',
'from_port': '想要使用的端口',
'to_port': '想要使用的端口',
},
# 修改完保存local_settings文件
# docker重启horizon服务
docker stop horizon
docker start horizon
2.修改haproxy代理的horizon端口并重启服务
cd /etc/kolla/haproxy/services.d/
vim horizon.cfg
# 修改horizon_front和horizon_back中的80为想要使用的端口
# docker重启haproxy服务
docker stop haproxy
docker start haproxy
部署参考文章:
kolla部署all-in-one
自动化kolla-ansible部署ubuntu20.04+openstack-victoria单机
使用Kolla在阿里云搭建10节点高可用OpenStack集群
使用Kolla部署Stein版本OpenStack(含Ceph存储部分)
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)