kolla-ansible部署openstack的all-in-one环境(train版)
1. 初始化系统环境
1.1 系统准备
2 network interfaces
8GB main memory
40GB disk space
1.2 关闭selinux并重启
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
reboot
1.3 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
1.4 更新yum源以及内核
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
yum clean all
yum makecache
yum update
1.5 安装依赖工具
yum -y install git lrzsz net-tools python-pip screen sysstat vim wget zip unzip
2. 安装docker
2.1 CentOS 7(使用 yum 进行安装)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
service docker start
2.2 更改国内源
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["http://docker.mirrors.ustc.edu.cn"],
"dns": ["8.8.8.8","8.8.4.4"]
}
EOF
2.3 重启docker
systemctl daemon-reload
systemctl restart docker
2.4 centos8关键步骤
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
3. 安装依赖
3.2 修改pip国内源
python -m pip install pip -U -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
echo -e "[install]\ntrusted-host=mirrors.aliyun.com" >> ~/.config/pip/pip.conf
3.3 安装依赖
yum -y install gcc python-devel openssl-devel libffi-devel libselinux-python
4. 安装Kolla-Ansible
4.1 安装ansible
yum -y install ansible
4.2 从github获取Kolla和Kolla-Ansible
git clone https://github.com/openstack/kolla -b stable/train
git clone https://github.com/openstack/kolla-ansible -b stable/train
4.3 安装依赖
pip install GitPython
pip install -r ./kolla/requirements.txt
pip install -r ./kolla-ansible/requirements.txt --ignore-installed PyYAML
cd kolla-ansible/; python setup.py install
5. 配置kolla-ansible
5.1 拷贝配置文件
单节点默认使用all-in-one不用做修改,多节点部署需要修改multinode
cp -r ./kolla-ansible/etc/kolla /etc/
cp kolla-ansible/ansible/inventory/* .
检查playbook文件配置是否正确
# 单节点
ansible -i all-in-one all -m ping
# 多节点
ansible -i multinode all -m ping
5.2 生成随机密码
使用kolla提供的密码生成工具自动生成,如果密码不填充,后面的部署环境检查时不会通过
kolla-genpwd
为了后面登录方便,可以自定义keystone_admin_password密码,这里改为admin
sed -i 's/^keystone_admin_password.*/keystone_admin_password: admin/' /etc/kolla/passwords.yml
5.3 修改globals.yml
vi /etc/kolla/globals.yml
# 指定镜像的系统版本
kolla_base_distro: "centos"
# 指定安装的方式,source为源码
kolla_install_type: "source"
# openstack版本
openstack_release: "train"
# 宿主机IP
kolla_internal_address: "[172.28.3.101]"
kolla_internal_vip_address: "10.0.0.25"
docker_registry: "registry.cn-shenzhen.aliyuncs.com"
docker_namespace: "kollaimage"
# OpenStack使用的网络接口
network_interface: "eth0"
# Neutron外部网络,必须是没有与network_interface Bond的可用网卡
neutron_external_interface: "eth1"
# 如果单点部署,高可用设为no
enable_haproxy: "no"
enable_placement: "yes"
# 使用cinder存储
enable_cinder: "yes"
enable_glance: "yes"
enable_magnum: "yes"
enable_heat: "yes"
# 如果使用lvm,需先创建cinder-volumes的卷组
enable_cinder_backend_lvm: "yes"
5.4 创建卷组
dd if=/dev/zero of=./disk.img count=20480 bs=1M
losetup -f
losetup /dev/loop0 disk.img
pvcreate /dev/loop0
vgcreate cinder-volumes /dev/loop0
6. 下载镜像
部署时,会检查本地有没有镜像,有的话,使用本地,没有,自动拉取,由于镜像特别大,先下载镜像到本地
kolla-ansible pull -vvv
拉取镜像的方法可以参考这篇博客:
拉取openstack kolla docker镜像到阿里云镜像仓库
7. 开始部署
7.1 带有kolla的引导服务器部署依赖关系
kolla-ansible -i ./all-in-one bootstrap-servers
7.2 对主机执行预部署检查
kolla-ansible -i ./all-in-one prechecks
7.3 执行OpenStack部署
kolla-ansible -i ./all-in-one deploy
8. 后续的配置
8.1 安装openstack CLI客户端
pip install python-openstackclient
8.2 OpenStack需要一个openrc文件,其中设置了admin用户的凭证,依次执行:
kolla-ansible post-deploy
. /etc/kolla/admin-openrc.sh
8.3 创建示例
/usr/share/kolla-ansible/init-runonce
在浏览器输入IP即可访问
部署时的常见错误汇总在这里:https://www.cnblogs.com/chaofan-/p/11715402.html
官方部署文档
https://docs.openstack.org/kolla-ansible/train/user/quickstart.html
此处评论已关闭