Kolla多节点部署OpenStack实例教程

Kolla多节点部署OpenStack实例教程,第1张

部署环境介绍:

环境:

Centos 7.3

Kolla 4.0

Openstack Ocata

两台虚拟机节点:

kolla1

配置:4CPU 8G 双网卡 /dev/sdb 200G 做存储盘

角色:部署节点+控制+网络+计算

ens32 100.100.100.1,管理+内部网络

ens33 无IP 外部网络

kolla2

配置:4CPU 8G 双网卡 /dev/sdb 200G 做存储盘

角色: 控制+网络+计算

ens32 100.100.100.2,管理+内部网络

ens33 无IP 外部网络

以下 *** 作在两个节点执行:

关闭selinux

编辑 /etc/selinux/config

SELINUX=disabled

关闭防火墙

systemctl status firewalld

systemctl stop firewalld

systemctl disable firewalld

systemctl status firewalld

firewall-cmd --state

部署NTP

yum install ntp -y

systemctl enable ntpd.service

systemctl start ntpd.service

设置相应的主机名和修改/etc/hosts文件

1)/etc/hostname

kolla1

2)/etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

100.100.100.4 kolla1

100.100.100.5 kolla2

重启 *** 作系统

以下 *** 作在kolla1节点执行:

在kolla1上做ssh免密钥登录

# ssh-keygen

# ssh-copy-id kolla1

# ssh-copy-id kolla2

以下 *** 作在两个节点执行:

安装epel源和依赖组件

# yum install epel-release -y

# yum install -y python-pip python-devel libffi-devel gcc openssl-devel git

# pip install -U pip #更新pip

添加docker的yum源:

# tee /etc/yum.repos.d/docker.repo << 'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

查看默认下载的docker版本,为高版本,不合适,因此指定安装版本:

# yum install docker-engine-1.12.6 -y

修改docker服务参数,启用MountFlags=shared:

# mkdir -p /etc/systemd/system/docker.service.d

# tee /etc/systemd/system/docker.service.d/kolla.conf <<'EOF'

[Service]

MountFlags=shared

EOF

启动docker服务:

# systemctl daemon-reload

# systemctl enable docker

# systemctl start docker

# pip install -U docker-py

以下 *** 作在kolla1节点执行:

安装ansible并做相应的复制 *** 作:

# pip install -U ansible

# pip install kolla-ansible

# cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/kolla/

# cp /usr/share/kolla-ansible/ansible/inventory/* .

启用本地Registry:

注意:默认docker的registry是使用5000端口,与OpenStack有端口冲突,所以kolla使用的是4000端口

# docker run -d -v /opt/registry:/var/lib/registry -p 4000:5000 --restart=always --name registry registry

配置kolla全局配置文件:

# vim /etc/kolla/globals.yml

docker_registry: “100.100.100.1:4000”

docker_namespace: “lokolla”

network_interface: “ens32” #这张网卡是管理网络的网卡

neutron_external_interface: “ens33” #这张网卡是外部网络的网卡

kolla_install_type: “source”

openstack_release: “4.0.0”

kolla_internal_vip_address: “100.100.100.3”

备注:kolla_internal_vip_address,这个ip是一个没有使用的的ip地址,给haproxy使用作为虚拟IP

以下 *** 作在两个节点执行:

添加配置设置容器的访问为不安全访问:

# vi /usr/lib/systemd/system/docker.service

[Service]

ExecStart=/usr/bin/dockerd --insecure-registry 100.100.100.1:4000

重启docker:

# systemctl daemon-reload

# systemctl restart docker

查看cpu是否开启虚拟化:

# egrep -c ‘(vmx|svm)’ /proc/cpuinfo

4

如果数字大于0,则忽略。


如果数字为0,则不支持虚拟化,就不能使用kvm,只能用qemu,需要 *** 作下面两步:

# mkdir -p /etc/kolla/config/nova

# cat << EOF > /etc/kolla/config/nova/nova-compute.conf

[libvirt]

virt_type = qemu

cpu_mode = none

EOF

以下 *** 作在kolla1执行:

为/etc/kolla/passwords.yml生成随机密码:

# kolla-genpwd

编辑ansible清单,修改下面部分,其他默认:

# vi /usr/share/kolla-ansible/ansible/inventory/multinode

[control]

kolla1

kolla2

[network]

kolla1

kolla2

[compute]

kolla1

kolla2

[monitoring]

kolla1

kolla2

[storage]

kolla1

kolla2

下载kolla镜像包,注意下载binary或source包都可以,只要在globals.yml文件中的kolla_install_type 匹配即可:

# wget http://tarballs.openstack.org/kolla/images/centos-source-registry-ocata.tar.gz

# tar zxvf centos-source-registry-ocata.tar.gz -C /opt/registry/

检查清单:

# kolla-ansible prechecks -i /usr/share/kolla-ansible/ansible/inventory/multinode

检查通过:

PLAY RECAP *********************************************************************

kolla1 : ok=134 changed=0 unreachable=0 failed=0

kolla2 : ok=133 changed=0 unreachable=0 failed=0

开始部署:

# kolla-ansible deploy -i /usr/share/kolla-ansible/ansible/inventory/multinode

部署成功:

PLAY RECAP *********************************************************************

kolla1 : ok=354 changed=153 unreachable=0 failed=0

kolla2 : ok=288 changed=115 unreachable=0 failed=0

生成admin-openrc.sh文件,路径为/etc/kolla/admin-openrc.sh:

# kolla-ansible post-deploy

安装openstack client【两个节点都安装】:

# pip install -U python-openstackclient

加载环境变量:

# . /etc/kolla/admin-openrc.sh

初始化环境(可选),编辑:

# vi /usr/share/kolla-ansible/init-runonce

IMAGE_URL=http://download.cirros-cloud.net/0.3.4/

IMAGE=cirros-0.3.4-x86_64-disk.img

IMAGE_NAME=cirros

EXT_NET_CIDR=’200.200.200.0/24′

EXT_NET_RANGE=’start=200.200.200.100,end=200.200.200.200′

EXT_NET_GATEWAY=’200.200.200.2′

执行初始化:

# /usr/share/kolla-ansible/init-runonce

接下来就可以进入dashboard创建虚拟机了。


地址:100.100.100.3

帐号:admin

密码:为/etc/kolla/admin-openrc.sh内的密码

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zaji/541238.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019-08-15
下一篇 2019-08-15

发表评论

登录后才能评论

评论列表(0条)

保存