生产环境中使用Kolla部署OpenStack-allinone云平台(红帽8版本)

CentOS8系统中使用Kolla部署OpenStack-allinone云平台

Kolla概述和openstack所有结点linux系统初始配置

kolla是openstack下面用于自动化部署的一个项目,它基于docker和ansible来实现,docker主要负责镜像制作,容器管理。而ansible主要负责环境的部署和管理。
Kolla实际上是分为两大块的,一部分,Kolla提供了生产环境级别的镜像,涵盖了Openstack用到的各个服务,另一部分是自动化的部署,也就是上面说的ansible部分。最开始两个部分是在一个项目中的(也就是Kolla),从O版本开始将两个部分独立开来,Kolla项目用来构建所有服务的镜像,Kolla-ansible用来执行自动化部署。

主机要求

主机必须满足以下最低要求:
2个网络接口
8GB主内存
40GB磁盘空间

安装对组件的版本非常敏感。请仔细检查,因为默认的操作系统存储库可能已过时。
在这里插入图片描述
pip在继续之前,请确保已安装软件包管理器并将其升级到最新版本。安装使用pip软件包管理器构建代码所需的依赖项。
Kolla使用Ansible部署OpenStack 。如果发行包装具有推荐的版本,请从发行包装中安装Ansible。

第一步:linux系统环境配置

[root@hots05 ~]# yum install epel-release python-pip3 -y
[root@hots05 ~]# pip3 install -U pip
[root@hots05 ~]# yum install python-devel libffi-devel gcc openssl-devel -y
[root@hots05 ~]# yum install ansible -y
[root@hots05 ~]# cat /etc/centos-release
CentOS Linux release 8.1.1911 (Core) 

一些已实现的Ansible发行版太旧,无法使用发行版打包。目前,CentOS和RHEL软件包Ansible> 2.0适用于Kolla。请注意,您需要启用对通过yum安装的EPEL存储库的访问权限–为此,请查看Fedora的EPEL 文档和FAQ。
在这里插入图片描述

生成ens37的网卡配置文件
[root@hots05 ~]# cd /etc/sysconfig/network-scripts/
[root@hots05 ~]# # cp ifcfg-ens33 ifcfg-ens37
[root@hots05 ~]#  vim ifcfg-ens37
TYPE="Ethernet"
BOOTPROTO="none"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"
[root@hots05 ~]# reboot
关闭防火墙、设置selinux 、Firewalld
[root@hots05 ~]#  systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
[root@hots05 ~]# getenforce 
Disabled

设置主机名

[root@hots05 ~]# cat /etc/hosts
127.0.0.1 localhost
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.200 host05
# BEGIN ANSIBLE GENERATED HOSTS
192.168.0.200 hots05
#由于需要Docker来构建映像并在所有已部署的目标上都存在Docker,因此Kolla社区建议安装Docker,
Inc.官方包装的Docker版本,以通过以下命令获得最大的稳定性和兼容性:
[root@hots05 ~]# curl -sSL https://get.docker.io | bash
[root@hots05 ~]# docker --version
#创建插入单元文件
[root@hots05 ~]# mkdir -p /etc/systemd/system/docker.service.d
[root@hots05 ~]# tee /etc/systemd/system/docker.service.d/kolla.conf <<-'EOF'
> [Service]
> MountFlags=shared
> EOF
[root@hots05 ~]# systemctl daemon-reload && systemctl restart docker
[root@hots05 ~]# yum install python-docker-py -y
[root@hots05 ~]# yum install ntp -y
[root@hots05 ~]# systemctl enable ntpd.service && systemctl start ntpd.service
[root@hots05 ~]# systemctl stop libvirtd.service && systemctl disable libvirtd.service
#在拉去镜像的过程中可能会超时。重新执行以下吗,命令即可。或者使用阿里云加速器下载。
[root@hots05 ~]# mkdir /etc/docker/
[root@hots05 ~]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://XXX.mirror.aliyuncs.com"]  
}
注:如果需要使用自己的本地私有仓库,写成如下:
{
  "registry-mirrors": ["https://XXXX.mirror.aliyuncs.com"]  
  "insecure-registries": ["192.168.1.150:5000"]
}
[root@hots05 ~]# systemctl daemon-reload  && systemctl restart docker 

第二步:安装Kolla进行开发

从git克隆Kolla和Kolla-Ansible存储库。

[root@hots05 ~]# git clone https://github.com/openstack/kolla 
[root@hots05 ~]# git clone https://github.com/openstack/kolla-ansible
安装kolla-ansible需要依赖包
[root@hots05 ~]# cd /kolla
[root@hots05 ~]# pip3 install .
[root@hots05 ~]# cd /kolla-ansible
[root@hots05 ~]# pip3 install .
复制kolla-ansible的相关配置文件
[root@hots05 ~]# cp -r kolla-ansible/etc/kolla /etc/kolla/
[root@hots05 ~]# cp kolla-ansible/ansible/inventory/* /etc/kolla/
[root@hots05 kolla-ansible]# ls /etc/kolla/
all-in-one  globals.yml  multinode  passwords.yml

自动主机引导程序¶
编辑/etc/kolla/globals.yml文件以配置接口。

[root@hots05 ~]# cat /etc/kolla/globals.yml  | grep -v ^$| grep -v ^#
---
kolla_internal_vip_address: "192.168.0.200" #修改本地的IP地址
network_interface: "ens33"
neutron_external_interface: "ens37"
enable_haproxy: "no"

第三步:自定义kolla-ansible安装openstack的相关配置文件

#生成密码。这将/etc/kolla/passwords.yml使用随机生成的值填充文件中的所有空白字段, 以保护部署。(可选)可以手动在文件中填充密码。
[root@hots05 ~]# kolla-genpwd
[root@hots05 ~]# vim /etc/kolla/passwords.yml
改: keystone_admin_password: HsPbEQHxTqmewKYNoRPpIOyQNdEYpHy36OX67TG3
为:keystone_admin_password: 123456
 生成SSH Key,并授信本节点:
[root@hots05 ~]# ssh-keygen
[root@hots05 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@host05
配置单节点清单文件(目前只有一个节点)
[root@hots05 ~]# vim /etc/kolla/all-in-one   #把localhost替换成host05
:1,$s/localhost/host05/
:1,$s/ansible_connection=local//   
#注:将以下组件,都安装到host05这台机器上:改第1行到19行中。

第四步:开始基于kolla-ansible安装openstack私有云

#设置docker volume卷挂载方式
[root@hots05 ~]# tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Service]
MountFlags=shared
EOF
#为了快速准备主机,可以使用剧本引导服务器。这是一本Ansible剧本,CentOS 8主机上运行,​​以安装集群并为OpenStack安装做准备。
[root@hots05 ~]# kolla-ansible -i all-in-one bootstrap-servers
#对主机进行预部署检查
[root@hots05 ~]# kolla-ansible -i /etc/kolla/all-in-one prechecks
拉取镜像
[root@hots05 ~]# kolla-ansible -i /etc/kolla/all-in-one  pull
[root@hots05 ~]# docker images |grep master |wc  -l
31
[root@hots05 ~]# docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
kolla/centos-binary-nova-compute                master              60f87bbcdb2b        5 days ago          1.82GB
kolla/centos-binary-nova-api                    master              2a48aa16de9a        5 days ago          881MB
kolla/centos-binary-nova-novncproxy             master              5e36e474b9df        5 days ago          952MB
kolla/centos-binary-nova-ssh                    master              58f82bec4a17        5 days ago          864MB
kolla/centos-binary-nova-conductor              master              b75701847d3e        5 days ago          862MB
kolla/centos-binary-nova-scheduler              master              60af7c649b0e        5 days ago          862MB
kolla/centos-binary-heat-api-cfn                master              fc1a17c03ac7        5 days ago          865MB
kolla/centos-binary-heat-engine                 master              41082528b965        5 days ago          865MB
kolla/centos-binary-heat-api                    master              bfcef7936187        5 days ago          865MB
kolla/centos-binary-neutron-l3-agent            master              3a32d38bae91        5 days ago          922MB
kolla/centos-binary-neutron-openvswitch-agent   master              046e052845fd        5 days ago          901MB
kolla/centos-binary-neutron-server              master              1c66fb1e752e        5 days ago          903MB
kolla/centos-binary-neutron-metadata-agent      master              438b35e1d365        5 days ago          868MB
kolla/centos-binary-neutron-dhcp-agent          master              70dc5ee0f25a        5 days ago          868MB
kolla/centos-binary-keystone-fernet             master              5dbb40d7a47c        5 days ago          868MB
kolla/centos-binary-keystone-ssh                master              f72bd199dedf        5 days ago          869MB
kolla/centos-binary-keystone                    master              69a805277ef2        5 days ago          867MB
kolla/centos-binary-placement-api               master              e3f9b51ec081        5 days ago          879MB
kolla/centos-binary-glance-api                  master              7b45d3df6436        5 days ago          901MB
kolla/centos-binary-mariadb-clustercheck        master              1ccc147a0ee7        5 days ago          653MB
kolla/centos-binary-openvswitch-vswitchd        master              44e62a529fba        5 days ago          463MB
kolla/centos-binary-openvswitch-db-server       master              9079f09802b9        5 days ago          463MB
kolla/centos-binary-horizon                     master              d142ff19b65b        5 days ago          970MB
kolla/centos-binary-nova-libvirt                master              c1e9811c993c        5 days ago          1.37GB
kolla/centos-binary-fluentd                     master              1babc43fbdf2        5 days ago          762MB
kolla/centos-binary-memcached                   master              38013f7bb367        5 days ago          463MB
kolla/centos-binary-rabbitmq                    master              6ee5efbba57c        5 days ago          523MB
kolla/centos-binary-kolla-toolbox               master              453394fe7004        5 days ago          944MB
kolla/centos-binary-mariadb                     master              a4919b950f6d        5 days ago          683MB
kolla/centos-binary-chrony                      master              3667fc60676b        5 days ago          443MB
kolla/centos-binary-cron                        master              4ed2722413a5        5 days ago          442MB

#进入实际的OpenStack部署:
[root@hots05 ~]# kolla-ansible -i /etc/kolla/all-in-one deploy
#验证部署
[root@hots05 ~]# kolla-ansible -i /etc/kolla/all-in-one  post-deploy
PLAY RECAP ************************************************************************************************
localhost : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 
要测试您的部署,请运行以下命令,以一目了然的图像和中子网络初始化网络。
[root@hots05 ~]# source /etc/kolla/admin-openrc.sh
[root@hots05 ~]# /usr/share/kolla/init-runonce
[root@hots05 ~]# ll /etc/kolla/admin-openrc.sh
-rw-r--r-- 1 root root 516 6月  10 02:45 /etc/kolla/admin-openrc.sh
[root@hots05 ~]# cd /etc/kolla/
[root@hots05 kolla]# cat admin-openrc.sh 
# Clear any old environment that may conflict.
for key in $( set | awk '{FS="="}  /^OS_/ {print $1}' ); do unset $key ; done
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin   #帐号
export OS_PASSWORD=123456  #密码
export OS_AUTH_URL=http://192.168.0.200:35357/v3
export OS_INTERFACE=internal
export OS_ENDPOINT_TYPE=internalURL
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne
export OS_AUTH_PLUGIN=password

第五步:测试:http://192.168.1.200 访问成功。

在这里插入图片描述
报错信息

Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried", "rc": 1, "results": []}
解决办法
是DNS 设置问题
可以尝试改成 1.1.1.1 或者谷歌的 8.8.8.8 或者服务器所在地区的常见DNS 或公
/etc/resolv.conf
[root@master ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 192.168.31.1
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值