目录
一、使用Kolla部署stein版本的OpenStack云平台
1.实验环境
2.开始部署
2.1预配置(所有步骤都在~目录下进行)
2.2安装基础包和docker服务
2.3从github 获取Kolla和Kolla-Ansible
2.4开始部署OpenStack
二、内网穿透
一、使用Kolla部署stein版本的OpenStack云平台
1.实验环境
1)由于是在一个服务器节点上部署openstack所以采用all-in-one的方式部署平台
kolla是用于自动化部署OpenStack的一个项目,它基于docker和ansible来实现;docker主要负责镜像制作、容器管理。而ansible主要负责环境的部署和管理。
2)服务器网卡配置
两块网卡enp2s0 ip地址为192.168.102.37
enp3s0 ip地址为192.168.102.237
3)服务器内存
4)备份参考CentOS 7.7 整个服务器系统备份与恢复的方法_迷逝-CSDN博客_centos备份整个系统
2.开始部署
2.1预配置(所有步骤都在~目录下进行)
1)关闭防火墙、selinux及libvirtd服务
1.systemctl stop firewalld
2.systemctl disable firewalld3.vim /etc/selinux/config
改:SELINUX=enforcing
为:SELINUX=disabled4.systemctl stop libvirtd.service
5.systemctl disable libvirtd.service6.reboot #重启生效
7.systemctl stop NetworkManager #关闭NetworkManager
8.systemctl disable NetworkManager
9.systemctl restart network
10.ping www.baidu.com #看看是否能ping通
11.reboot
2)安装openstack命令行(一定要预先装,不预先装的话后面很有可能装不上)
- yum install centos-release-openstack-stein
- yum upgrade #更新yum,时间较长
- reboot
- yum install python-openstackclient
- yum install openstack-selinux
3)安装epel源
- yum -y install epel-release
4)CentOS 部分常用软件安装
- yum install -y vim net-tools bash-completion-extras git
5)配置主机名及hosts文件
- hostname node1
- echo "node1" > /etc/hostname
- echo "192.168.102.37 node1" >> /etc/hosts
6)同步时间
- yum -y install ntp
- systemctl start ntpd
- systemctl enable ntpd
7)配置 pip 镜像源,方便快速下载python库
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
2.2安装基础包和docker服务
1)安装基础包
yum -y install python-devel libffi-devel gcc openssl-devel python-pip
2)升级pip版本,不然后期会报错
如果一次性升级到20.2.4跨度过大,所以需要先升级到20.0.2,再升级
pip install -upgrade pip==20.0.2
pip install -upgrade pip
3) 安装docker-ce
安装依赖包
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 docker
systemctl enable docker
4)指定docker 镜像加速器
vim /etc/docker/daemon.json
添加如下内容:
{
"registry-mirrors": ["https://0i6rnnzu.mirror.aliyuncs.com"]
}
5)设置docker volume卷挂载方式
mkdir /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/kolla.conf
# 添加如下内容
[Service]
MountFlags=shared
解释一下:MountFlags=shared,表示当宿主机新增分区时,docker服务无需重启即可识别。添加此参数后期OpenStack中使用cinder存储时,新加磁盘也比较方便
6) 重启使配置生效
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
2.3从github 获取Kolla和Kolla-Ansible
1)安装ansible
yum -y install ansible
2)下载kolla及kolla-ansible代码
如果网络不行无法git下来可以从之前现在成功的系统中传输到~目录下kolla和kolla-ansible
git clone https://github.com/openstack/kolla -b stable/stein
git clone https://github.com/openstack/kolla-ansible -b stable/stein
3)手动安装kolla-ansible
python ~/kolla-ansible/setup.py install
这一步可能会报错,所以要cd kolla-ansible/之后执行python setup.py install
执行完之后退回cd .. 然后再次python ~/kolla-ansible/setup.py install
可能还会有报错不用管,接着进行下一步
4)安装kolla-ansible需要依赖包
pip install -r /root/kolla-ansible/requirements.txt
如果出现这个错误需要强制更新
pip install --ignore-installed PyYAML
如果出现如下错误
再次执行
pip install -r /root/kolla-ansible/requirements.txt
直到不再出错,如果过程中依然少别的高版本包可以执行类似下载 PyYAML的操作强制操作
5)安装kolla需要依赖包
pip install -r /root/kolla/requirements.txt
与4)类似,可能会报错可能不会报错,如果报错的话可能如下
但是我在这次安装过程中未出现报错
6)拷贝配置文件
[root@node1 ~]# cd ~/kolla-ansible/
[root@node1 kolla-ansible]# cp -r ./etc/kolla/* /etc/kolla/
[root@node1 kolla-ansible]# cp ./ansible/inventory/* /etc/kolla/
#看下我们都拷贝了哪些文件
[root@node1 ~]# ls /etc/kolla/
all-in-one globals.yml multinode passwords.yml
[root@node1 ~]#
配置文件解释:
all-in-one #安装单节点OpenStack的ansible自动安装配置文件
multinode # 安装多节点OpenStack的ansible自动安装配置文件
globals.yml # 部署OpenStack的自定义配置文件
passwords.yml #存放OpenStack各个服务的密码
6)生成随机密码
[root@node1 ~]# kolla-genpwd
使用kolla提供的密码生成工具自动生成OpenStack各服务的密码,如果密码不填充,后面的部署环境检查时不会通过的。
7)修改随机密码文件
# 为了方便登录Dashboard,我们将密码修改为123123
[root@node1 ~]# vim /etc/kolla/passwords.yml
(165行) keystone_admin_password: 123123
8)修改globals.yml配置文件 (将下面几行的注释取消掉、注意ip地址和网卡名称更换)
第二个网卡,在之后部署的过程中会被关闭要注意
同时,如果两个网卡全部配ip的话,xshell连接的时候一定要注意连接你第一个网卡也就是enp2s0的ip地址,之后的ssh认证需要
[root@node1 ~]# 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.102.37"
# OpenStack内部管理网络
89 network_interface: "enp2s0"
# Neutron外网网络
107 neutron_external_interface: "enp3s0"
# 本次实验采用all-in-one模式,未启用高可用
192 enable_haproxy: "no"
2.4开始部署OpenStack
1)生成SSH Key,并授信本节点
ssh-keygen
ssh-copy-id root@192.168.102.37
在进行这一步的时候按enter回车就可以了
2)配置单节点all-in-one配置文件
[root@node1 ~]# vim /etc/kolla/all-in-one
# 将文件中所有的localhost替换成node1
:1,$s/localhost/node1/# 去掉文件中所有包含“ansible_connection=local”
:1,$s/ansible_connection=local//
3)带有kolla的引导服务器部署依赖关系
[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers
结果如下
4)对主机执行预部署检查
[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one prechecks
结果如下
如果这一步成功后面不会有太大问题了
5)拉取OpenStack镜像
[root@node1 ~]# kolla-ansible -i /etc/kolla/all-in-one pull
6)执行OpenStack部署(这一步会把第二个网卡给关掉,所以一定在预先确保NetworkManager是关闭的状态,不然会失去与服务器的远程连接)
kolla-ansible -i /etc/kolla/all-in-one deploy
7)验证部署
kolla-ansible -i /etc/kolla/all-in-one post-deploy
成功!
看一下凭证里面有登陆的密码等信息
补:centos7如果缺什么包的话可以去RPM Search网站下载,然后rz -y传到服务器
参考:干货 | 手把手教你搭建一套OpenStack云平台_开源Linux-CSDN博客_openstack云平台搭建
二、补充
1.两台服务器拷贝文件
登录39服务器,将文件传到37服务器的/目录下
2.文件移动 mv命令



