基于Kolla-Ansible安装OpenStack Queens版本

 

0. 写在前面

我在成功安装这个之前,真的阅读过很多博客,我一开始觉得安装很简单,不过是把那些东西复制到命令行执行一遍就好了,但我实在是没想到失败的次数让我无语,没能执行成功的各种错误查也查不到,所以我写这篇东西,第一是帮我自己巩固成功的安装过程,第二是为了看到这篇文章的同学能一次成功,不要耽误太多时间。

1. 环境准备

新创建1台虚拟机,新配置2张网卡,一共3张网卡,作为all in one节点。操作系统为centos7.4。

三张网卡,首先我要解释一下:

虚拟机应该和主机共用一个网络,你可以选择自动桥接,这样比较方便,这样选择后的虚拟机可以直接上网的。

你还需配置两个网络:

       第一,配一个环回网卡,网段自己设置,我设置的是10.99.0.200,网关255.255.255.0。这样在虚拟机里桥接第一个网络设置固定ip地址可以随意设置这个网段下的任意网络,比如,我设置的是:10.99.0.7。

       这个网卡的作用是作为horizon dashboard的登陆地址,之后你部署完了之后应该可以用horizon界面登陆,这样配置的话,在浏览器打上10.99.0.7,horizon界面就会出来了。

       第二,继续添加一个环回网卡,网段自己设置,我设置的是192.168.0.200,网关255.255.255.0。这样在虚拟机里桥接第一个网络设置固定ip地址可以随意设置这个网段下的任意网络,比如,我设置的是:192.168.0.7。

       这个网卡的作用是neutron的作为网络接口,网上的有些博客没说清楚之前,我以为配一个环回网卡的地址就可以了,但是问题在于,如果10.99.0.7这个网络作为horizon接口,没有192.168.0.7这个网络的话,那么neutron的接口就必须设置你自动桥接的网卡地址,这样一来,就会出现很严重的问题,上不了网。因为neutron占用了这个ip地址,上不了网的话对于整个部署是没有意义的。

1)关闭Selinux

vi /etc/sysconfig/selinux
SELINUX=disabled

注意你可以setenforce 1的方式暂时关闭selinux,上面的命令在重启以后才生效,但是如果你想不重启继续下面的操作可以执行setenforce 1这样的命令来操作,但我有强迫症,所以还是重启了。

2)关闭firewalld

systemctl stop firewalld
systemctl disable firewalld

2. 安装 docker

1)添加Docker源

cd /etc/yum.repos.d/ 
vi docker.repo
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

2)添加epel源 
 

vi epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://mirrors.aliyun.com/epel/7/$basearch
        http://mirrors.aliyuncs.com/epel/7/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

3)安装Docker 1.12.6

yum install docker-engine-1.12.6 docker-engine-selinux-1.12.6 -y1

4)设置Docker

mkdir /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/kolla.conf
[Service]

MountFlags=shared

5)重启相关服务

systemctl daemon-reload
systemctl enable docker
systemctl restart docker

6)配置阿里云的Docker加速器,加快pull registry镜像

mkdir -p /etc/docker

tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://a5aghnme.mirror.aliyuncs.com"]
}
EOF

重启下服务

systemctl daemon-reload && systemctl restart docker

7)设置代理(如果需要)

创建配置文件/etc/systemd/system/docker.service.d/http-proxy.conf,添加如下配置:

[Service] 
Environment="HTTP_PROXY=http://ip:port/"
Environment="HTTPS_PROXY=http://ip:port/"

重启服务
 

systemctl daemon-reload && systemctl restart docker

3.安装 kolla

1)安装 pip

yum install python-pip
pip install -U pip -i https://pypi.tuna.tsinghua.edu.cn/simple

2)安装基础软件

yum install python-devel libffi-devel gcc openssl-devel libselinux-python

3)安装 ansible

pip install -U ansible -i https://pypi.tuna.tsinghua.edu.cn/simple

4)安装 kolla-ansible

pip install -U kolla-ansible -i https://pypi.tuna.tsinghua.edu.cn/simple

5)复制相关配置文件

cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp /usr/share/kolla-ansible/ansible/inventory/* /home/

6)生成密码文件

kolla-genpwd

7)编辑 /etc/kolla/passwords.yml文件,配置keystone管理员用户的密码。

keystone_admin_password: admin

同时,也是登录Dashboard,admin使用的密码,你可以根据自己需要进行修改。

8)编辑 /etc/kolla/globals.yml 配置文件

kolla_internal_vip_address: "10.99.0.7"   //访问Dashboard的地址
openstack_release: "queens"
network_interface: "ens33"                //就是10.99.0.7的网卡名字                 
neutron_external_interface: "ens34"       //就是192.168.0.7的网卡名字,用于neutron的网络接口
enable_haproxy: "no"

9)部署前检查

注意,部署前检查应该在/etc/hosts文件中添加10.99.0.7 localhost的DNS。这个很重要!很重要!没有绝对出错!

kolla-ansible prechecks -i /home/all-in-one

10)先拉取镜像

注意,这里,实话来讲,其实拉镜像还是比较慢的,所以有的时候,要科学上网,但是科学上网有的时候也会导致拉取失败。我就具体讲一下怎么搞会快一点。

首先,你需要科学上网。

yum install git
git clone -b manyuser https://github.com/Ssrbackup/shadowsocksr.git
gedit /etc/shadowsocks.json
//然后把你的ssr的JSON配置填进去
cd shadowsocksr/shadowsocks/
python local.py -c/etc/shadowsocks.json -d start //开始ssr服务

//下面是一些备用的命令:
python local.py -c/etc/shadowsocks.json -d stop//结束ssr服务
python local.py -c/etc/shadowsocks.json -d restart //开始ssr服务

现在,你需要设置proxychains让你的科学上网能够在终端实现:

cd                                                     //回到主目录
yum -y install gcc automake autoconf libtool make      //安装make环境
git clone https://github.com/rofl0r/proxychains-ng.git //下载proxychains4

cd proxychains-ng
./configure //生产配置文件
make && sudo make install                               //编译安装
cp ./src/proxychains.conf /etc/proxychains.conf         //提取配置文件
cd .. && rm -rf proxychains-ng                          //清理安装包
vim /etc/proxychains.conf                               //编辑配置文件
//最后一行改成sock5 127.0.0.1:1080




这样,以后执行命令的时候在前面加上proxychains4就科学上网了。

kolla-ansible pull -i /home/all-in-one
//或者试一下科学上网
proxychains4 kolla-ansible pull -i /home/all-in-one

然后如果还不行的话,可以试试手动从镜像网站拉下来你所需要的镜像,最后再执行上面的命令,就可以减少他的拉取镜像的个数。

proxychains4 docker pull kolla/centos-source-fluentd:queens
proxychains4 docker pull kolla/centos-source-prometheus-base:queens
proxychains4 docker pull kolla/centos-source-prometheus-haproxy-exporter:queens
proxychains4 docker pull kolla/centos-source-haproxy:queens
proxychains4 docker pull kolla/centos-source-chrony:queens
proxychains4 docker pull kolla/centos-source-openvswitch-vswitchd:queens
proxychains4 docker pull kolla/centos-source-openvswitch-base:queens
proxychains4 docker pull kolla/centos-source-openvswitch-db-server:queens
proxychains4 docker pull kolla/centos-source-openstack-base:queens
proxychains4 docker pull kolla/centos-source-glance-base:queens
proxychains4 docker pull kolla/centos-source-mariadb:queens  
proxychains4 docker pull kolla/centos-source-memcached:queens  
proxychains4 docker pull kolla/centos-source-keystone-ssh:queens  
proxychains4 docker pull kolla/centos-source-keystone-base:queens  
proxychains4 docker pull kolla/centos-source-kolla-toolbox:queens  
proxychains4 docker pull kolla/centos-source-heat-api:queens  
proxychains4 docker pull kolla/centos-source-heat-api-cfn:queens  
proxychains4 docker pull kolla/centos-source-glance-api:queens  
proxychains4 docker pull kolla/centos-source-keystone-fernet:queens  
proxychains4 docker pull kolla/centos-source-nova-libvirt:queens  
proxychains4 docker pull kolla/centos-source-neutron-lbaas-agent:queens  
proxychains4 docker pull kolla/centos-source-neutron-l3-agent:queens  
proxychains4 docker pull kolla/centos-source-keepalived:queens
proxychains4 docker pull kolla/centos-source-nova-compute:queens  
proxychains4 docker pull kolla/centos-source-nova-spicehtml5proxy:queens  
proxychains4 docker pull kolla/centos-source-nova-api:queens  
proxychains4 docker pull kolla/centos-source-nova-novncproxy:queens  
proxychains4 docker pull kolla/centos-source-nova-ssh:queens  
proxychains4 docker pull kolla/centos-source-nova-placement:queens  
proxychains4 docker pull kolla/centos-source-nova-compute-ironic:queens  
proxychains4 docker pull kolla/centos-source-horizon:queens 
proxychains4 docker pull kolla/centos-binary-nova-conductor:queens 
proxychains4 docker pull kolla/centos-binary-nova-consoleauth:queens 
proxychains4 docker pull kolla/centos-binary-nova-serialproxy:queens 
proxychains4 docker pull kolla/centos-binary-nova-mksproxy:queens 
proxychains4 docker pull kolla/centos-binary-nova-scheduler:queens 
proxychains4 docker pull kolla/centos-binary-nova-base:queens 
proxychains4 docker pull kolla/centos-binary-neutron-server-opendaylight:queens 
proxychains4 docker pull kolla/centos-binary-neutron-server:queens 
proxychains4 docker pull kolla/centos-binary-neutron-metering-agent:queens
proxychains4 docker pull kolla/centos-binary-ce-neutron-metadata-agent :queens 
proxychains4 docker pull kolla/centos-binary-neutron-sriov-agent:queens 
proxychains4 docker pull kolla/centos-binary-ironic-neutron-agent:queens 
proxychains4 docker pull kolla/centos-binary-neutron-bgp-dragent:queens 
proxychains4 docker pull kolla/centos-binary-neutron-sfc-agent:queens 
proxychains4 docker pull kolla/centos-binary-neutron-openvswitch-agent:queens 
proxychains4 docker pull kolla/centos-binary-neutron-dhcp-agent:queens 
proxychains4 docker pull kolla/centos-binary-keystone:queens 
proxychains4 docker pull kolla/centos-binary-neutron-linuxbridge-agent:queens 
proxychains4 docker pull kolla/centos-binary-fluentd:queens
proxychains4 docker pull kolla/centos-binary-prometheus-haproxy-exporter:queens
proxychains4 docker pull kolla/centos-binary-haproxy:queens
proxychains4 docker pull kolla/centos-binary-chrony:queens
proxychains4 docker pull kolla/centos-binary-openvswitch-vswitchd:queens
proxychains4 docker pull kolla/centos-binary-openvswitch-base:queens
proxychains4 docker pull kolla/centos-binary-openvswitch-db-server:queens
proxychains4 docker pull kolla/centos-binary-openstack-base:queens
proxychains4 docker pull kolla/centos-binary-glance-base:queens
proxychains4 docker pull kolla/centos-binary-mariadb:queens  
proxychains4 docker pull kolla/centos-binary-memcached:queens  
proxychains4 docker pull kolla/centos-binary-keystone-ssh:queens  
proxychains4 docker pull kolla/centos-binary-keystone-base:queens  
proxychains4 docker pull kolla/centos-binary-kolla-toolbox:queens  
proxychains4 docker pull kolla/centos-binary-heat-all:queens  
proxychains4 docker pull kolla/centos-binary-heat-api:queens  
proxychains4 docker pull kolla/centos-binary-heat-api-cfn:queens  
proxychains4 docker pull kolla/centos-binary-glance-api:queens  
proxychains4 docker pull kolla/centos-binary-fluentd:queens  
proxychains4 docker pull kolla/centos-binary-keystone-fernet:queens  
proxychains4 docker pull kolla/centos-binary-nova-libvirt:queens  
proxychains4 docker pull kolla/centos-binary-neutron-lbaas-agent:queens  
proxychains4 docker pull kolla/centos-binary-neutron-l3-agent:queens  
proxychains4 docker pull kolla/centos-binary-keepalived:queens
proxychains4 docker pull kolla/centos-binary-nova-compute:queens  
proxychains4 docker pull kolla/centos-binary-nova-spicehtml5proxy:queens  
proxychains4 docker pull kolla/centos-binary-nova-api:queens  
proxychains4 docker pull kolla/centos-binary-nova-novncproxy:queens  
proxychains4 docker pull kolla/centos-binary-nova-ssh:queens  
proxychains4 docker pull kolla/centos-binary-nova-placement:queens  
proxychains4 docker pull kolla/centos-binary-nova-compute-ironic:queens  
proxychains4 docker pull kolla/centos-binary-horizon:queens 

11)安装 Docker python libraries, 否则会报错

pip install -U docker -i https://pypi.tuna.tsinghua.edu.cn/simple

12)部署

kolla-ansible deploy -i /home/all-in-one

等待大约30分钟,部署完成。

13)登录 dashboard  http://10.99.0.7

14)安装客户端

pip install python-openstackclient python-glanceclient python-neutronclient -i https://pypi.tuna.tsinghua.edu.cn/simple

15)执行部署后操作

kolla-ansible postdeploy -i /home/all-in-one

猜你喜欢

转载自blog.csdn.net/qq_32473685/article/details/83709816