kolla-ansible部署多节点OpenStack-Pike
⼀、准备⼯作:
系统:均为centos 7.5
这⾥以笔记本⼀台、vmware workstation做为实验环境
建议虚拟机硬盘存储为单个⽂件,因为在上传和使⽤windows镜像时⽂件太⼤容易造成虚拟机卡住⽽失败
架构:
3个control节点、2个network节点、2个compute节点、1个storage节点、1个monitoring节点、1个deploy节点,每节点2核⼼4G + 1块100G硬盘,storage节点额外增加⼀个600G硬盘
⽹络:
每台机3块⽹卡,
第⼀块⽹卡:NAT模式,⽤于下载安装包,设置好IP可以上⽹
第⼆块⽹卡:仅主机模式,⽤作API⽹络、VM⽹络(tenant ⽹络),之所有选择VMnet1(仅主机模式),是⽅便笔记本连接 horizon UI,需要设置IP
第三块⽹卡:NAT模式,⽤作External ⽹络,⽤于虚拟机连接外部⽹络,不⽤设置IP
control01
ens33:192.168.163.21/24 gw:192.168.163.2
ens37:192.168.41.21/24
ens38
control02
ens33:192.168.163.22/24 gw:192.168.163.2
ens37:192.168.41.22/24
ens38
control03
ens33:192.168.163.30/24 gw:192.168.163.2    ens37:192.168.41.30/24
ens38
network01
ens33:192.168.163.23/24 gw:192.168.163.2    ens37:192.168.41.23/24
ens38
network02
ens33:192.168.163.27/24 gw:192.168.163.2    ens37:192.168.41.27/24
ens38
compute01
ens33:192.168.163.24/24 gw:192.168.163.2    ens37:192.168.41.24/24
ens38
compute02
ens33:192.168.163.28/24 gw:192.168.163.2    ens37:192.168.41.28/24
ens38
monitoring01
ens33:192.168.163.26/24 gw:192.168.163.2    ens37:192.168.41.26/24
ens38
storage01
ens33:192.168.163.25/24 gw:192.168.163.2    ens37:192.168.41.25/24
ens38
deploy
ens33:192.168.163.29/24 gw:192.168.163.2    ens37:192.168.41.29/24
ens38
每台机上绑定host:
192.168.41.21 control01
192.168.41.22 control02
192.168.41.30 control03
192.168.41.23 network01
192.168.41.27 network02
192.168.41.24 compute01
192.168.41.28 compute02
192.168.41.25 monitoring01
192.168.41.26 storage01
192.168.41.29 deploy
存储节点:
要启动cinder存储服务,需先添加⼀块新的硬盘,然后创建pv、vg
pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb     #vg名取名为 cinder-volumes,这⾥主要跟 kolla配置⽂件⾥vg名⼀致只允许vm实例访问块存储卷,对LVM可能出现异常做设置
vi /etc/f
修改 devices 下⾯的,有多少块硬盘就写多少块,如果不想使⽤系统盘,则不写a|sda
devices {
...
filter = [ "a|sda|", "a|sdb|", "r|.*|" ]
重启lvm服务
systemctl restart lvm2-lvmetad.service
所有节点:
配置国内pipy源
mkdir ~/.pip
cat << EOF > ~/.f
EOF
安装pip
yum -y install epel-release
yum -y install python-pip
如果pip install 出现问题可以试试命令
pip install setuptools==33.1.1
⼆、所有节点安装docker
⼀定要先启⽤EPEL的repo源
yum -y install python-devel libffi-devel gcc openssl-devel git python-pip qemu-kvm qemu-img
安装docker
1)下载RPM包
2)安装Docker 1.12.6,创建安装1.12.6⽐较稳定
yum localinstall -y docker-engine-1.12.s.x86_64.rpm docker-engine-selinux-1.12.s.noarch.rpm 也可以参考官⽅⽂档安装:
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
yum install docker-ce #或 yum install docker-ce-1.12.6
配置Docker共享挂载
mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.f << 'EOF'
[Service]
MountFlags=shared
EOF
设置访问私有的Docker仓库
ExecStart=/usr/bin/dockerd --insecure-registry 192.168.41.29:4000
重启服务
systemctl daemon-reload && systemctl enable docker && systemctl restart docker
三、在deploy上安装私有镜像仓库、安装kolla、安装openstack
mkdir -p /data/registry
tar -zxvf  centos-source-registry-pike-5.0. -C /data/registry
这样就把kolla的docker镜像⽂件放到Regisitry服务器上。
Registry 服务器
默认docker的registry是使⽤5000端⼝,对于OpenStack来说,有端⼝冲突,所以改成4000
docker run -d -v /data/ -p 4000:5000 --restart=always --name registry registry
测试是否成功:
# curl -k localhost:4000/v2/_catalog
# curl -k localhost:4000/v2/lokolla/centos-source-fluentd/tags/list
{"name":"lokolla/centos-source-fluentd","tags":["5.0.1"]}
Ansible
Kolla项⽬的Mitaka版本要求ansible版本低于2.0,Newton版本以后的就只⽀持2.x以上的版本。yum install -y ansible
设置免密登录
ssh-keygen
ssh-copy-id control01
ssh-copy-id control02
ssh-copy-id control03
ssh-copy-id network01
...
安装kolla
复制相关⽂件
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/
cp /usr/share/kolla-ansible/ansible/inventory/* /home/
如果是在虚拟机⾥再启动虚拟机,那么需要把virt_type=qemu,默认是kvm
mkdir -p /etc/kolla/config/nova
cat << EOF > /etc/kolla/config/f
[libvirt]
virt_type=qemu
cpu_mode = none
EOF
⽣成密码⽂件
python虚拟机kolla-genpwd
编辑 vim /etc/l
keystone_admin_password: admin123
这是登录Dashboard,admin使⽤的密码,根据需要进⾏修改。
编辑/etc/l  ⽂件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。