3.3多节点安装

1.软体版本

2.硬体规格

3.网络架构

3.1 网络配置

4.主机配置

4.1 在Controller/Compute节点的配置工作

4.2 在Deploy节点的配置工作

5.部署

5.1 配置GLOBALS.YML文件

5.2 创建Ceph配置文件

5.3 創建網絡配置文件

5.4 修改 /etc/kolla/multinode

5.5 生成密码,编辑/etc/kolla/passwords.yml

5.6 通过bootstrap部署依赖

5.7 部署前检查

5.8 部署

5.9 创建环境变量文件

5.10 安装openstack client 端

6.OpenStack初始化

1.软体版本

软件 版本
Kolla 5.0.1
Kolla-ansible 5.0.1
OpenStack Pike
CentOS 7.4.1708(Core)
Docker 17.06.2
Docker Python 2.7.0
ansible 2.4.2

2.硬体规格

角色 配置 数量
Deploy CPU E5-2620v42/Mem 64GB/Disk 600GB2 1
Controller CPU E5-2620v42/Mem 128GB/Disk SSD 800GB2 3
Compute& CPU E5-2650v42/Mem 256GB/Disk SSD 480GB2/SATA 4TB*12 5

3.网络架构

3.1 网络配置

所有主机网卡名称必须统一,外网网卡不配置IP。(若主机需连接外网,则部署后IP配置到br-ex网桥上)

角色 内网(ens3) 外网(ens4)
Depoly 192.168.1.5x up
Controller 192.168.1.6x up
Compute 192.168.1.7x up

4.主机配置

4.1 在Controller/Compute节点的配置工作

  1. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件
  2. 关闭Selinux,Firewalld,NetworkManager,libvirtd
  3. 设置docker源,安装docker
  4. 配置docker:设置访问私有的registry 源,打开Docker 的 shared mount 功能
  5. 设置网卡,网络,符合部署需求。如果需要bonding,需要把bonding做好。
  6. 对于要部署Ceph的节点的磁盘,进行打标签
  7. 检查网络,重点,确保装好后,网络功能正常。

4.2 在Deploy节点的配置工作

  1. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件
  2. 关闭Selinux,Firewalld,NetworkManager
  3. 设置docker源,安装docker

前面3条,都是相同的,不同的是

  1. 搭建私有的registry服务器,存放build好的OpenStack Docker镜像
  2. 安装ansible
  3. 配置SSH无密码访问
  4. 部署kolla-ansible

4.1 在Controller/Compute节点的配置工作

  1. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件

hostnamectl set-hostname <Computer Name>

添加IP及主机名记录,vi /etc/hosts

192.168.1.6x <Computer Name>

2. 关闭Selinux,Firewalld,NetworkManager,libvirtd

systemctl stop NetworkManager

systemctl disable NetworkManager

systemctl stop firewalld

systemctl disable firewalld

systemctl stop libvirtd

systemctl disable libvirtd

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

setenforce 0

getenforce

3. 查看是否开启了虚拟化非必须,实验环境为虚拟机时需要

egrep "vmx|svm" /proc/cpuinfo

4. 配置os/epel源,安装基础包

配置內網yum源

rm -rf /etc/yum.repos.d/*

curl –O http://10.172.115.203/repo/dpbg-centos.repo > /etc/yum.repos.d/dpbg-centos.repo

yum -y update

yum -y install python-devel libffi-devel gcc openssl-devel libselinux-python python-pip net-tools vim \ git wget

5. 设置docker源,安装docker

上一項已配置

yum install -y docker-ce

systemctl start docker

systemctl enable docker

6. 配置docker(设置访问私有的registry 源,打开Docker 的 shared mount 功能)

mkdir /etc/systemd/system/docker.service.d

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

[Service]

MountFlags=shared

EOF

設置內部源(二選一,推薦一)

tee /etc/docker/daemon.json <<'EOF'

{ "insecure-registries": ["192.168.1.51:4000"] }

EOF

方式二

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

# ExecStart=/usr/bin/dockerd

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

启动docker

systemctl daemon-reload

systemctl restart docker

7.安裝docker python

配置內網pypi源

mkdir -p ~/.pip

tee ~/.pip/pip.conf << 'EOF'

[global]

index-url = http://10.172.115.203/pypi/web/simple/

[install]

trusted-host=10.172.115.203

EOF

安裝docker SDK

pip install docker

7. 设置网卡,网络,符合部署需求。如果需要bonding,需要把bonding做好。

网卡ens3配置管理网IP,ens4不配置IP。

  1. 对于要部署Ceph的节点的磁盘,进行打标签

lsblk

lsblk | grep "^sda" | awk '{print $1}' | while read line; do \

parted /dev/$line -s -- mklabel gpt mkpart KOLLA_CEPH_OSD_BOOTSTRAP 1 -1; \

done

lsblk

  1. 检查网络,重点,确保装好后,网络功能正常。

4.2 在Deploy节点的配置工作

1. 设置hostname FQDN,让机器可以通过hostname进行互相访问,统一 /etc/hosts文件(同上)

2. 关闭Selinux,Firewalld,NetworkManager(同上)

3. 设置docker源,安装docker(同上)

前面3条,都是相同的,不同的是

1. 获取OpenStack Docker镜像(三选一,建议选一)

  • 使用Kolla手动构建镜像(部署节点需要联网)

安装kolla-build

vim /etc/kolla/globals.yml openstack_release: "5.0.1" # git clone https://github.com/openstack/kolla.git -b stable/pike # cd kolla # pip install -r requirements.txt -r test-requirements.txt

pip install .

pip install tox

tox -e genconfig

kolla-build --base centos --type source --registry 192.168.1.51:4000 --push

  • 直接从官方源下载(需每个节点都能联网)

vim /etc/kolla/globals.yml openstack_release: "5.0.1" # kolla-ansible -i /etc/kolla/multinode bootstrap-servers # kolla-ansible pull

  • 从其他主机拷贝镜像文件

搭建私有的registry服务器,存放build好的OpenStack Docker镜像

* 默认docker的registry是使用5000端口,对于OpenStack来说,有端口冲突,所以我将端口改成了4000。

* 若独立的Deploy主机和registy主机,则无冲突。

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

构建OpenStack镜像

kolla-build --base centos --type source --registry 192.168.1.51:5000 --push

查看仓库镜像

curl http://192.168.1.51:4000/v2/_catalog

查看仓库镜像的tag

curl -XGET http://192.168.1.51:4000/v2/kolla/centos-source-nova-compute/tags/list

2. 安装ansible

ansible版本必须在2.0以上

yum install ansible -y

pip install -U ansible pip

3. 配置SSH无密码访问

本機生成密鑰;一路回車即可(在其他主機上同樣執行此操作)

ssh-keygen

將私鑰複製到遠程主機(其他所有主机)

ssh-copy-id manage01

4. 部署kolla-ansible

下载kolla-ansible,并配置

git clone https://github.com/openstack/kolla-ansible -b stable/pike

cd kolla-ansible/

cp -r etc/kolla /etc/

cp ansible/inventory/* /etc/kolla/

pip install .

5.部署

5.1 配置GLOBALS.YML文件

cat /etc/kolla/globals.yml |grep -Ev '^$|^#'


kolla_base_distro: "centos"

kolla_install_type: "source"

openstack_release: "5.0.1"

kolla_internal_vip_address: "192.168.10.139"

docker_registry: "192.168.10.139:4000"

docker_namespace: "kolla"

network_interface: "ens33"

neutron_external_interface: "ens34"

keepalived_virtual_router_id: "52"

nova_compute_virt_type: "qemu"

enable_chrony: "yes"

enable_cinder: "yes"

enable_ceph: "yes"

如果是在虚拟机里安装 Kolla,希望可以在 OpenStack 平台上创建虚拟机,那么你需要在 globals.yml 文件中把 nova_compute_virt_type 配置项设置为 qemu,默认是 KVM

5.2 创建Ceph配置文件

vi /etc/kolla/config/ceph.conf

[global]

osd pool default size = 3

osd pool default min size = 2

5.3 創建網絡配置文件

mkdir -p /etc/kolla/config/neutron

tee /etc/kolla/config/neutron/ml2.conf.ini <<-'EOF'

[ml2]

type_drivers = flat,vlan,vxlan

tenant_network_types = vxlan

[ml2_type_vlan]

network_vlan_ranges = physnet1

[ml2_type_flat]

flat_networks = physnet1

[ovs]

bridge_mappings = physnet1:br-ex

EOF

5.4 修改 /etc/kolla/multinode

若部署節點預管理節點共用,則部署節點主機名后需指定執行對象

[deployment]

deploy ansible_connection=local

5.5 生成密码,编辑/etc/kolla/passwords.yml

kolla-genpwd

vim /etc/kolla/passwords.yml

keystone_admin_password: dpbg123.

kibana_password: dpbg123.

grafana_admin_password: dpbg123.

第一個為登录Dashboard,admin使用的密码,

kibana的賬號為:kibana;你可以根据自己需要进行修改

5.6 通过bootstrap部署依赖

kolla-ansible bootstrap-servers -i /etc/kolla/multinode

5.7 部署前检查

kolla-ansible prechecks -i /etc/kolla/multinode

5.8 部署

kolla-ansible deploy -i /etc/kolla/multinode

5.9 创建环境变量文件

kolla-ansible post-deploy -i /etc/kolla/multinode

5.10 安装openstack client 端

pip install python-openstackclient

pip install python-neutronclient

6.OpenStack初始化

参见《Day2运营》

results matching ""

    No results matching ""