干货 | 手把手教你搭建一套OpenStack云平台
1 前言
2 实验环境介绍
2.1 系统准备
2.2 逻辑拓扑图
3 开始部署
3.1 Linux系统环境配置
[root@qll251 ~]# systemctl stop firewalld[root@qll251 ~]# systemctl disable firewalld[root@qll251 ~]# vim /etc/selinux/config改:SELINUX=enforcing 为:SELINUX=disabled [root@qll251 ~]# systemctl stop libvirtd.service[root@qll251 ~]# systemctl disable libvirtd.service[root@qll251 ~]# reboot #重启生效
yum -y install epel-release
yum install -y vim net-tools bash-completion-extras git
[root@qll251 ~]# hostname qll251[root@qll251 ~]# echo "qll251" > /etc/hostname[root@qll251 ~]# echo "192.168.1.251 qll251" >> /etc/hosts
[root@qll251 ~]# yum -y install ntp[root@qll251 ~]# systemctl start ntpd[root@qll251 ~]# systemctl enable ntpd
[root@qll251 ~]# mkdir ~/.pip [root@qll251 ~]# vim ~/.pip/pip.conf [global]index-url = http://mirrors.aliyun.com/pypi/simple/ [install]trusted-host=mirrors.aliyun.com
3.2 安装基础包和docker服务
yum -y install python-devel libffi-devel gcc openssl-devel python-pip
安装依赖包
yum -y install yum-utils device-mapper-persistent-data lvm2
添加docker-ce yum源文件
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker-ce
yum -y install docker-ce
启动docker服务
systemctl start dockersystemctl enable docker
[root@qll251 ~]# vim /etc/docker/daemon.json
添加如下内容:
{ "registry-mirrors": ["https://0i6rnnzu.mirror.aliyuncs.com"]
}[root@qll251 ~]# mkdir /etc/systemd/system/docker.service.d[root@qll251 ~]# vim /etc/systemd/system/docker.service.d/kolla.conf # 添加如下内容[Service]MountFlags=shared
systemctl daemon-reloadsystemctl restart dockersystemctl enable docker
3.3 从github 获取Kolla和Kolla-Ansible
yum -y install ansible
git clone https://github.com/openstack/kolla -b stable/stein git clone https://github.com/openstack/kolla-ansible -b stable/stein # 如果已有镜像,只执行第二步即可
python ~/kolla-ansible/setup.py install
[root@qll251 ~]# pip install -r /root/kolla-ansible/requirements.txt
[root@qll251 ~]# pip install --ignore-installed PyYAML
[root@qll251 ~]# pip install -r /root/kolla/requirements.txt
[root@qll251 ~]# pip install --ignore-installed requests
[root@qll251 ~]# cd ~/kolla-ansible/[root@qll251 kolla-ansible]# cp -r ./etc/kolla/* /etc/kolla/[root@qll251 kolla-ansible]# cp ./ansible/inventory/* /etc/kolla/#看下我们都拷贝了哪些文件[root@qll251 ~]# ls /etc/kolla/all-in-one globals.yml multinode passwords.yml [root@qll251 ~]#
[root@qll251 ~]# kolla-genpwd
# 为了方便登录Dashboard,我们将密码修改为123123[root@qll251 ~]# vim /etc/kolla/passwords.yml 165 keystone_admin_password: 123123
[root@qll251 ~]# vim /etc/kolla/globals.yml# 指定镜像的系统版本 15 kolla_base_distro: "centos"# 指定安装方式 18 kolla_install_type: "binary"# 指定安装stein版本的OpenStack 21 openstack_release: "stein"# 本次实验采用all-in-one模式,未启用高可用。填写宿主机IP即可 31 kolla_internal_vip_address: "192.168.1.251"# OpenStack内部管理网络 89 network_interface: "eth0"# Neutron外网网络107 neutron_external_interface: "eth1"# 本次实验采用all-in-one模式,未启用高可用192 enable_haproxy: "no"
3.4 开始部署OpenStack
ssh-keygen ssh-copy-id root@192.168.1.251
[root@qll251 ~]# vim /etc/kolla/all-in-one# 将文件中所有的localhost替换成qll251:1,$s/localhost/qll251/# 去掉文件中所有包含“ansible_connection=local”:1,$s/ansible_connection=local//
[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers
[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one prechecks
[root@qll251 ~]# kolla-ansible -i /etc/kolla/all-in-one pull
kolla-ansible -i /etc/kolla/all-in-one deploy
kolla-ansible -i /etc/kolla/all-in-one post-deploy
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTlvlksV-1587031174131)(https://imgkr.cn-bj.ufileos.com/0b1dfd15-8cb0-4ad5-9c43-31151175ce92.png)]](https://i-blog.csdnimg.cn/blog_migrate/7b52857f3fdb14b44669dabd7c545b29.png)




![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdYeEa0E-1587031174136)(https://imgkr.cn-bj.ufileos.com/8217b38e-d071-44ad-8008-a386aa4b6074.png)]](https://i-blog.csdnimg.cn/blog_migrate/c0d281b0ab1230b535e9becc65b00145.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fQTQkCid-1587031174136)(https://imgkr.cn-bj.ufileos.com/7192658f-9ece-47e7-9961-6c60eb0f2bd5.png)]](https://i-blog.csdnimg.cn/blog_migrate/f2dc0a2b9188b6eab28fd5aeb248fb49.png)



![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pkzck8Vd-1587031174138)(https://imgkr.cn-bj.ufileos.com/001f295e-2df9-4cfe-a8b5-c2af30061042.png)]](https://i-blog.csdnimg.cn/blog_migrate/78ef311a9f9fc3d0ed4b1a983fc63fb5.png)


![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ayz9QlVW-1587031174143)(https://imgkr.cn-bj.ufileos.com/d46809ca-8318-47b7-b031-5c43996b15c2.png)]](https://i-blog.csdnimg.cn/blog_migrate/f8f943bf85d9644b5eb9883e960a8851.png)

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jeBffxx2-1587031174144)(https://imgkr.cn-bj.ufileos.com/0eff5405-03f6-4b78-b106-3f7270cba356.png)]](https://i-blog.csdnimg.cn/blog_migrate/36bed3a1668743dfe1b83b92f46e0e7d.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-enDbxxRY-1587031174144)(https://imgkr.cn-bj.ufileos.com/13cc1e31-72c3-48e9-8163-6b380029aff9.png)]](https://i-blog.csdnimg.cn/blog_migrate/ee5b8a0c19ad4db4724408e6b1360d8f.png)
