容器化安装openstack单节点环境
准备工作
环境搭建基于vmware esxi上的虚拟机进行搭建
虚拟机信息
cpu 2*2 memory 40G ram 8G nic 2 centos 7 [root@kolla ~]# uname -a Linux kolla 3.10.0-693.5.2.el7.x86_64 #1 SMP Fri Oct 20 20:32:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [root@kolla ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@kolla ~]#源信息
采用原始默认源信息,这里没有更换网络源,可参看源更新
yum makecache yum -y update yum -y install vim yum -y install net-tools网卡信息
ens160作为openstack环境管理网ip,隧道网ip,存储网Ip。ens160也作为host默认路由,可以 连接外网,用于远程horizon登录和下载依赖包。
ens192作为外网ip,需保证ens192可联通互联网,后面br-ex绑定这个网卡,虚拟机是通过这块网卡访问外网
vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=ens160 UUID=93124eda-37a5-4cc0-8ff7-820606256ce3 DEVICE=ens160 ONBOOT=yes IPADDR=192.168.26.6 PREFIX=24 GATEWAY=192.168.26.254 DNS1=10.19.8.10 DNS2=10.19.8.12vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet BOOTPROTO=static DEFROUTE=no PEERDNS=yes PEERROUTES=no IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=ens192 UUID=b16e217e-f9fc-40cd-a9ab-3eed7e3ea6a4 DEVICE=ens192 ONBOOT=yes IPADDR=192.168.30.31 PREFIX=24修改主机名
vi /etc/hostname kolla vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.26.6 kolla kolla安装NTP
# CentOS 7 yum install ntp systemctl enable ntpd.service systemctl start ntpd.service手工同步时间
ntpdate 0.centos.pool.ntp.org关闭 Selinux
vi /etc/selinux/config SELINUX=disabled重启系统,然后检查Selinux是否关闭
[root@kolla ~]# sestatus SELinux status: disabled [root@kolla ~]#关闭Firewalld
由于是开发测试环境,需要开启大量的服务端口,为了简化配置,所以关闭防火墙,但是如果是生产环境或者暴露公网IP的服务器,强烈建议不要关闭防火墙
systemctl status firewalld systemctl stop firewalld systemctl disable firewalld systemctl status firewalld firewall-cmd --state-
# egrep "vmx|svm" /proc/cpuinfo如果没有开启虚拟化请开启虚拟化
重启系统reboot生效note:这一步就是确认虚拟机能支持嵌套虚拟化,个人感觉这一步多余,之前用devstack安装也没有做这一步操作,通过配置虚拟化类型为qemu,也可以在虚拟机中创建虚拟机。
安装基础包
一定要先启用EPEL的repo源
# yum install epel-release -y安装基础软件包
# yum install vim net-tools tmux python-devel libffi-devel gcc openssl-devel git python-pip -y
安装docker
设置repo
# tee /etc/yum.repos.d/docker.repo << 'EOF' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/$releasever/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF安装Docker 1.12.5
目前最新版本的Docker是1.13.1,Kolla目前支持的Docker是1.12.x,所以我们要指定Docker的版本来安装,并且一定要采用Docker官方的源,不能使用红帽的源,红帽的源的Docker是有bug。
# yum install docker-engine-1.12.5 docker-engine-selinux-1.12.5 -y设置docker
# mkdir /etc/systemd/system/docker.service.d # tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF' [Service] MountFlags=shared EOF编辑/usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd ExecStart=/usr/bin/dockerd --insecure-registry 192.168.26.6:4000重启服务
# systemctl daemon-reload # systemctl enable docker # systemctl restart docker # systemctl status docker搭建Registry服务器
默认docker的registry是使用5000端口,对于OpenStack来说,有端口冲突,所以我将端口改成了4000。
# docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 \ --restart=always --name registry registry:2 [root@kolla ~]# docker ps -a de67c9de6dbb registry:2 "/entrypoint.sh /etc/" 28 hours ago Up 2 hours 0.0.0.0:4000->5000/tcp registry [root@kolla ~]# netstat -antl |grep 4000 tcp6 0 0 :::4000 :::* LISTEN [root@kolla ~]#
安装Ansible和openstack镜像包
Kolla项目的Mitaka版本要求ansible版本低于2.0,Newton版本以后的就只支持2.x以上的版本。
# yum -y install ansible
kolla官方提供的ocata镜像
<

这篇博客介绍了如何在虚拟机环境中,使用kolla进行openstack的单节点容器化安装。首先,文章列出了安装前的准备工作,包括虚拟机配置、NTP安装、Selinux和Firewalld的关闭。接着,详细讲述了安装基础包、docker、Ansible和openstack镜像包的步骤。然后,通过kolla-ansible部署openstack,配置密码和全局参数,并验证部署成功。最后,分析了容器网络环境,特别是容器网络类型和虚拟网络在openvswitch中的实现方式。
最低0.47元/天 解锁文章
895

被折叠的 条评论
为什么被折叠?



