Kolla 快速安装 OpenStack

实验环境准备:

硬件:VMware 虚拟机

CPU:4  内存:16 G 硬盘:160 G

开启硬件虚拟化:

通过ssh登录ESXI主机,找到存储路径/vmfs/volume ,进到存储路径,找到虚机,展开找到 .vmx 文件

在最底部添加一行:vhv.enable = "TRUE"

OS:CentOS 7.5

CentOS-7-x86_64-Everything-1804.iso

网卡:2 个(1、用于管理;2、用于实例)

yum 源: 阿里云

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

防火墙 : 关闭

systemctl disable firewalld.service

systemctl stop firewalld.service

主机名:openstack

hostnamectl set-hostname openstack

设置 selinux :disabled

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

 

安装基本服务:

1、配置 epel 源

yum install -y epel-release

2、安装 docker 设置开机自启动

yum install docker -y

systemctl enable docker

3、安装依赖包

yum install python-devel gcc openssl-devel libselinux-python git vim bash-completi wget net-tools

4、安装 、升级 pip 、配置 pip 源

yum install -y python-pip

pip install -U pip

mkdir ~/.pip

cat > ~/.pip/pip.conf << EOF

[global]

timeout = 6000

index-url = https://pypi.tuna.tsinghua.edu.cn/simple

extra-index-url = https://pypi.doubanio.com/simple

[install]

trusted-host = pypi.doubanio.com

trusted-host = pypi.tuna.tsinghua.edu.cn

EOF

5、安装 ansible

yum install -y ansible

6、安装 kolla-ansible

pip install kolla-ansible (执行会出现报错、提示 PyYAML 无法卸载,这时可以使用 --ignore-installed 忽略 PyYAML)

pip install kolla-ansible --ignore-installed PyYAML

7、安装 python-openstackclient  并检查

pip install python-openstackclient

执行 openstack server list 检查,这时可能会出现报错:升级 decorator 包,安装即可 pip install -U decorator

 

配置准备工作:

1、docker 配置加速器

阿里云 docker 镜像加速器   "registry-mirrors": ["https://ncfus5c8.mirror.aliyuncs.com"]

  

  

  

重启 docker 服务

systemctl daemon-reload

systemctl restart docker

2、kolla.conf

cd /etc/systemd/system && mkdir docker.service.d

cd docker.service.d/

cat > kolla.conf<< EOF

[Service]

MountFlags=shared

EOF

systemctl daemon-reload

systemctl restart docker

3、docker私有仓库创建

docker pull registry:2

docker run -d --name registry --restart always -p 4000:5000 docker.io/registry (5000 端口后面 OpenStack 会用到,这里 registry 用 4000 端口)

4、克隆 git 上的 kolla 、kolla-ansible

git clone http://github.com/openstack/kolla

cd kolla && pip install -r requirements.txt

git clone http://github.com/openstack/kolla-ansible

cd kolla-ansible && pip install -r requirements.txt

5、配置 kolla

mkdir -p /etc/kolla && cd /etc/kolla  && cp -r /usr/share/kolla-ansible/etc_examples/kolla/* .

修改全局配置文件 globals.yml

   

通过执行 kolla-genpwd 命令,使密码配置文件 passwords.yml 自动生成密码

在密码配置文件 passwords.yml 中修改 OpenStack 的登录密码

keystone_admin_password: admin

6、优化 ansible 配置

vim /etc/ansible/ansible.cfg

forks = 100

host_key_checking = False

pipelining = True

deprecation_warnings=False

7、配置nova-compute.conf (物理机部署不需要此步)

mkdir -p /etc/kolla/config/nova

cd /etc/kolla/config/nova

cat > nova-compute.conf <<EOF

[libvirt]

virt_type = qemu

cpu_mode = none

EOF

 

安装步骤:

0、kolla-ansible 调试时使用 -vvvv

1、kolla-ansible 检查 (检查 所有项目均为 ok ,即可向下继续操作)

kolla-ansible prechecks

2、下载镜像

kolla-ansible pull (如遇到网络问题 可以重新执行直到所有镜像都被下载完成,共有 33 个镜像)

3、推送镜像到私有仓库

修改 image 的 tag 标签

a="centos" && b="127.0.0.1:4000" && for i in `docker images | grep $a | awk '{ print  $1":"$2 }'` ;do  docker tag $i "$b$(echo $i | awk -F'.io' '{print $2}')";done

推送镜像

for i in `docker images | grep $b | awk '{ print  $1":"$2 }'` ;do docker push $i  ;done

4、更新完善 globals.yml

docker_registry: "127.0.0.1:4000"

docker_namespace: "kolla"

5、开始部署

kolla-ansible deploy

可以使用 docker ps -a 监控部署过程,部署完成后 (图中没有使用私有仓库中的镜像)

  

6、生成环境变量文件

kolla-ansible post-deploy

使用环境变量文件

source /etc/kolla/admin-openrc.sh

 

 

使用测试:

1、创建网络、激活第二张网卡

bash /usr/share/kolla-ansible/init-runonce

2、创建镜像(在可以连外网的情况下上一步中可以创建镜像)

导入本地镜像

glance image-create --name cirros --disk-format qcow2 --container-format bare --progress < cirros-0.4.0-x86_64-disk.img

3、创建实例

这时网络选择  demo-net ,创建完成后再绑定 浮动 IP ,经测试可以连接

 

 

常见报错:

VIP 连接失败

解决方法:globals.yml 配置中 keepalived_virtual_router_id 在同一网络环境中是唯一值不可重复

 

 

猜你喜欢

转载自www.cnblogs.com/gsophy/p/11212286.html