ubuntu20.04LTS单节点kolla部署openstack-train版本

Kolla 概述:

Kolla是OpenStack下用于自动化部署的一个项目,它基于docker和ansible来实现,其中docker主要负责镜像制作和容器管理,ansible主要负责环境的部署和管理。Kolla实际上分为两部分:Kolla部分提供了生产环境级别的镜像,涵盖了OpenStack用到的各个服务;Kolla-ansible部分提供了自动化的部署。最开始这两部分是在一个项目中的(即Kolla),OpenStack从O开头的版本开始被独立开来,这才有了用于构建所有服务镜像的Kolla项目,以及用于执行自动化部署的Kolla-ansible。

参考官方安装文档https://docs.openstack.org/project-deploy-guide/kolla-ansible/latest/quickstart.html

服务器最低配置:

2 个网络接口(或者单个网络接口配置子接口)
8GB 主内存
40GB 磁盘空间

Ubuntu server 20.04LTS

Ubuntu server 20.04LTS使用最小化或基础安装系统,并修改配置好网络连接
#切换至root
sudo su -
#关闭防火墙
sudo ufw disable
iptables -F
使用 ip a查看网卡名
在这里插入图片描述

双网卡模式(推荐)

#修改双网卡IP(20.04改了网络配置方法,原来是修改/etc/network/interfaces文件)
vim /etc/netplan/xxxx.yaml
network:
  ethernets:
    ens160:     #填入第一个网卡的名称
      addresses: [192.168.2.38/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.2.1    #网关地址
      nameservers:
        addresses: [114.114.114.114]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
    ens192:     #填入第二个网卡的名称
      addresses: [192.168.2.125/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.2.1    #网关地址
      nameservers:
        addresses: [114.114.114.114]    #DNS服务器地址,多个DNS服务器地址需要用英文逗号分隔开
  version: 2

执行netplan apply应用配置
这里使用的是虚拟机实验环境,两个网卡都在同一网段

单网卡加子网卡模式

network:
  ethernets:
    ens160:    #配置的网卡的名称
      addresses: [192.168.2.38/24]    #配置的静态ip地址和掩码
      dhcp4: no    #关闭DHCP,如果需要打开DHCP则写yes
      optional: true
      gateway4: 192.168.2.1    #网关地址
      nameservers:
        addresses: [192.168.2.1,114.114.114.114]   #DNS服务器地址,多个地址需要用英文逗号分隔
  vlans:
    ens160.1:  #子接口
      id: 51
      link: ens160       #连接网卡
      addresses: ["192.168.2.244/24"]    #接口IP掩码
      gateway4: 192.168.2.1  #网关地址
  version: 2

执行netplan apply应用配置
后面/etc/kolla/globals.yml配置中改为网卡和子接口
network_interface: "ens160" #网卡1名字
neutron_external_interface: "ens160.1"   #网卡2名字

主机配置

#修改主机名
hostnamectl set-hostname kolla && sudo su -
#修改hosts增加主机名映射
vim /etc/hosts
192.168.2.125 kolla
#卸载旧docker
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
#从阿里云下载安装docker
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
#验证key
sudo apt-key fingerprint 0EBFCD88
#添加stable源
sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
#这里安装的19.03.15版本
sudo apt-get install docker-ce=5:19.03.15~3-0~ubuntu-focal
#启动和自启(安装后会自动配置可忽略)
sudo systemctl enable docker
sudo systemctl start docker
#安装依赖项
sudo apt install python3-dev libffi-dev gcc libssl-dev
#安装pip和升级到最新版
sudo apt install python3-pip
sudo pip3 install -U pip
#安装ansible
sudo apt install ansible
#下载代码(这里选的稳定版train分支,注意不要用master分支会有一堆问题)
git clone -b stable/train https://opendev.org/openstack/kolla-ansible.git 
#安装
pip3 install kolla-ansible/
#拷贝配置文件
sudo mkdir -p /etc/kolla
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla
cp /usr/local/share/kolla-ansible/ansible/inventory/* /etc/kolla
#修改ansible配置(在defaults下添加以下3行)
vim /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100

确认all-in-one中前6项都是localhost
cat /etc/kolla/all-in-one
在这里插入图片描述

测试ansible连接,正常则返回pong
ansible -i /etc/kolla/all-in-one all -m ping
在这里插入图片描述

执行kolla-genpwd生成随机密码文件passwords.yml,也可以手动修改内容

#修改主配置文件(清空原有内容)
vim /etc/kolla/globals.yml
kolla_base_distro: "ubuntu"  #使用ubuntu为底包的镜像
kolla_install_type: "source"  #源码版本
network_interface: "ens192"   #网卡1名字
neutron_external_interface: "ens160"   #网卡2名字
kolla_internal_vip_address: "192.168.2.125"   #虚拟VIP,应填写同网段的一个空IP,这里因为单机部署填写的网卡1的IP
openstack_release: "train"  #安装版本,不加此行会装和kolla-ansible一样版本,不能填写空

#开始安装,以下步骤不能有报错,耐心等待执行完成
#安装组件
cd /etc/kolla/
kolla-ansible -i ./multinode bootstrap-servers
#安装检查
kolla-ansible -i ./multinode precheck
#安装部署
kolla-ansible -i ./multinode deploy
#生成admin-openrc.sh文件
kolla-ansible -i /etc/kolla/all-in-one post-deploy
#最终信息导入admin-openrc.sh 
kolla-ansible -i /etc/kolla/all-in-one post-deploy  -vvv
#最终的各种相关信息
cat admin-openrc.sh 
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    #web登录用户
export OS_PASSWORD=QBmiKrKApzDB2hWDCptT1POiPf9qJds48zoDceLT    #web登录密码
export OS_AUTH_URL=http://192.168.2.125: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.2.125/即可到web页面登录
在这里插入图片描述

可能会出现的问题:(待补充)

kolla-ansible -i ./multinode precheck 报错hostname
/etc/hosts中只留手动配置的一条 注释掉其他的127.0.0.1和::1

ansible升级
pip install ‘ansible==2.9.9’
ln -s /usr/local/python3/bin/ansible /usr/local/bin/

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值