OpenStack-01-使用 Kolla-Ansible 部署一个单点的 OpenStack Demo 环境

Reference: OpenStack Kolla-Ansible 下的用户指南快速入门

安装环境

硬件最低要求:

  • 2 个网口
  • 8GB 内存
  • 40GB 硬盘

操作系统:

安装步骤

这里选择的是 Centos 下 Python virtualenv 下安装 latest 版本的 kolla-ansible(时间:2020-04-24,当前实际版本为 Train 版本)。安装的是单点 all-in-one 的 Demo 环境。

安装依赖

# 安装相关依赖
sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python

# 安装 Python virtualenv 相关依赖
sudo yum install python-virtualenv

# 创建并激活一个 Python 虚拟环境
mkdir -p /opt/openstack
virtualenv /opt/openstack/venv
source /opt/openstack/venv/bin/activate

# 在 virtualenv 中 pip 安装 Ansible 环境
pip install -U pip
pip install ansible

# 检验 Ansible 安装情况,Kolla Ansible requires at least Ansible 2.8 and supports up to 2.9.
ansible --version

安装 Kolla-Ansible

# 在 virtualenv 中 pip 安装 Kolla-Ansible
pip install kolla-ansible

# 创建配置文件所在的文件夹,并设置需要的权限
sudo mkdir -p /etc/kolla
sudo chown $USER:USER /etc/kolla

# 从虚拟环境中复制配置文件和密码文件样例到 /etc/kolla/ 文件夹中
cp -r /opt/openstack/venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/

# 从虚拟环境中复制 Kolla-Ansible 的 inventory 文件到 /opt/openstack 文件夹中(执行 Ansible 的机器信息会被填写在这个配置文件里面)
cp /opt/openstack/venv/share/kolla-ansible/ansible/inventory/* /opt/openstack/

使用 Kolla-Ansible 准备一个单点的 OpenStack 环境

修改后续部署过程需要使用到的各种配置文件

# 如果有需要的话,可以修改 /etc/ansible/ansible.cfg,官方推荐了以下推荐选项(没什么必要性,可以不加=-=)
[defaults]
host_key_checking=False
pipelining=True
forks=100

# 如果有需要的话,可以修改 inventory 文件,我这里直接使用了复制得到的 /opt/openstack/all-in-one 文件做为 inventory 文件

# 测试一下 inventory 文件
cd /opt/openstack; ansible -i all-in-one all -m ping

# 部署中需要使用到的密码都存在上述复制的密码文件 /etc/kolla/passwords.yml 中,可以使用以下命令使用随机密码填充文件
kolla-genpwd

# 修改部署配置文件 /etc/kolla/globals.yml 中的以下字段
# 容器镜像
kolla_base_distro: "centos"
# 安装类型
kolla_install_type: "binary"
# 安装版本
openstack_release: "train"
# 网络端口-管理网口
network_interface: "em1"
# 网络端口-业务/数据网口
neutron_external_interface: "em2"
# 同在管理网段的 Kolla 服务的虚拟 IP,可用于 Horizon UI 前端,使用前请确认没有被占用
kolla_internal_vip_address: "10.1.0.250"

安装 Docker 环境

# 执行前请先退出虚拟环境
deactivate
 
yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
yum install -y yum-utils
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io

# 修改 Docker 配置文件 /etc/docker/daemon.json【patch-1】
{
    "storage-driver": "devicemapper",
    "log-opts": {
        "max-file": "5",
        "max-size": "50m"
    }
}

# 重启 Docker 进程
systemctl restart docker

# 验证 Docker 进程运行情况
systemctl status docker

# 在运行机器中 pip 安装 docker【patch-2】
yum install epel-release
yum install python-pip
pip install docker

部署 OpenStack 环境

# 进入虚拟环境
source /opt/openstack/venv/bin/activate
 
# 利用 kolla-ansible 工具,预置、检查、安装部署环境
cd /opt/openstack/
kolla-ansible -i all-in-one bootstrap-servers
kolla-ansible -i all-in-one prechecks
kolla-ansible -i all-in-one deploy

安装 OpenStack CLI client 端

# 安装 client 端
pip install python-openstackclient

# 生成 admin credential 环境信息文件
kolla-ansible post-deploy
source /etc/kolla/admin-openrc.sh

# 在 virtualenv 中 pip 安装初始化所需依赖【patch-3】
easy_install queuelib
pip install queuelib
pip install future

# 初始化
/opt/openstack/venv/share/kolla-ansible/init-runonce

Dashboard UI 界面入口

使用之前填写的 kolla_internal_vip_address 即可进入。登录所需要的 admin 密码在 /etc/kolla/admin-openrc.sh 中可以找到,也可以通过以下命令直接修改 admin 密码再登录。

openstack user set --password admin admin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章