Kolla O版部署和之前的版本还是有些区别的,环境还是all-in-one
基本准备:
关闭Selina和firewalld
[root@kolla ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@kolla kolla]# cat /etc/hostname
kolla.com
[root@kolla kolla]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.64.8.178 openstack.kolla.com kolla.com kolla
更新安装包
[root@kolla ~]#yum upgrade
[root@kolla ~]#yum install epel-release
[root@kolla ~]#yum install python-devel libffi-devel gcc openssl-devel git python-pip
[root@kolla ~]#pip install -U pip
[root@kolla ~]#yum install -y ansible
安装docker
[root@kolla ~]#curl -sSL https://get.docker.io | bash
查看docker版本
[root@kolla ~]# docker --version
Docker version 17.06.0-ce, build 02c1d87
修改dockerMountFlags等于shard
[root@kolla ~]#mkdir -p /etc/systemd/system/docker.service.d
[root@kolla ~]#tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'
[Service]
MountFlags=shared
EOF
启动docker服务
[root@kolla ~]#systemctl daemon-reload&&systemctl enable docker &&systemctl start docker
下载kolla
[root@kolla ~]#git clone https://github.com/openstack/kolla.git
[root@kolla ~]#cd kolla/
查看分支
[root@kolla kolla]# git branch -a
* (detached from origin/stable/ocata)
master
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/stable/newton
remotes/origin/stable/ocata
切换分支到ocata
[root@kolla kolla]# git checkout remotes/origin/stable/ocata
安装python依赖包
[root@kolla kolla]# pip install -r requirements.txt -r test-requirements.txt
[root@kolla kolla]# pip install tox
[root@kolla kolla]# ls etc/kolla/
kolla-build.conf
[root@kolla kolla]# tox -e genconfig
复制kolla-build.conf到 /etc/kolla
[root@kolla kolla]# cp -rv etc/kolla /etc/
安装kolla命令
[root@kolla kolla]#pip install .
下载kolla镜像,这里有2个方法:
方法一:
这个方法比较慢去docker上下载kolla打包好的镜像,有些特殊的镜像可能是因为墙的原因下载不到。常用的都是没有问题的build的时间会长些主要看网速。这样中方式就是比较简单
[root@kolla kolla]#kolla-build
方法二:
http://tarballs.openstack.org/kolla/images/ 官方镜像下载,只提供当前openstack版本和master版本镜像下载(有的时候下载当前版本会提示没有权限,可能是没有更新好过一段时间下载就可以了)
有了这个镜像大家就可以不用第一个方法了
构建docker 私有仓库
docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \ --restart=always --name registry registry:
解压镜像:
tar zxvf centos-source-registry-ocata.tar.gz -C /opt/registry/
查看docker私有仓库信息:
1查看docker镜像列表
http://10.64.8.178:4000/v2/_catalog
查看镜像的tag版本号
http://10.64.8.178:4000/v2/lokolla/centos-binary-aodh-api/tags/list
{"name":"lokolla/centos-binary-aodh-api","tags":["4.0.3"]}
如果使用仓库模式,所有节点必须在配置一下docker的私有仓库地址
[root@ceph ~]# cat /etc/docker/daemon.json
{
"insecure-registries" : ["http://192.168.27.10:4000"]
}
systemctl restart docker
如果不配置在最后推送的时候报如下错误:
按照kolla-ansible,O版这里有了变化部署服务器由kolla-ansible负责
[root@kolla]#git clone http://git.trystack.cn/openstack/kolla-ansible -b stable/ocata
[root@kolla]#cp kolla-ansible/ansible/inventory/* .
[root@kolla]#cd kolla-ansible/
安装kolla-ansible
[root@kolla kolla-ansible]#pip install .
将globals.yml passwords.yml复制到 /etc/kolla/
[root@kolla kolla-ansible]#cp -r etc/kolla /etc/kolla/
因为是虚拟机模拟这里就需要更改一下配置
mkdir -p /etc/kolla/config/nova cat << EOF > /etc/kolla/config/nova/nova-compute.conf [libvirt] virt_type=qemu cpu_mode = none EOF
生成密码
[root@kolla ]kolla-genpwd
编辑 /etc/kolla/passwords.yml改dashboard 登录密码
keystone_admin_password: admin
编辑 /etc/kolla/globals.yml 文件
kolla_internal_vip_address: "192.168.27.11" 这个地址不能被占用keeplive生成VIP kolla_install_type: "source" 有二两种方式一个是binary和source ,根据下载的镜像或者build镜像类型选择 openstack_release: "4.0.3" 默认是这个版本,如果是下载的镜像那么这里看docker images 上tag版本 docker_registry: "192.168.27.10:4000" docker 私有库地址 docker_namespace: "lokolla" 这个docker 私有库的一个命名空间的名字,默认可能不是这个 network_interface: "ens192" neutron_external_interface: "ens224"
开始部署
[root@kolla ] kolla-ansible deploy -i /home/all-in-one
生成admin.sh文件,执行完成后在 /etc/kolla 目录下admin-openrc.sh
[root@kolla ]kolla-ansible post-deploy