搭建openstack可以这么简单

基于kolla-ansible 部署openstack Yoga版本用于开发测试,本文绝对是目前为止最简单部署的了,请看完全文。

角色网络备注
部署机eth0:10.10.1.115一个普通docker容器
控制节点eth0:10.14.203.171至少一个网卡
计算节点eth0:xxx
eth1: trunk模式
大于等于两个网卡
一、部署kolla-ansible
这里在部署机 10.10.1.115 上部署了 kolla-ansible,这里基于docker起了个centos8 x86_64的容器,省事还好迁移
1. 安装kolla-ansible

启动kolla deploy容器, 用于部署以及后续迁移

#docker run -it --privileged --network host -h KOLLA_DEPLOY --name kolla_deploy -v /data:/data:rw centos:8
#使用aliyun centos8 base/epel repo (忽略)

#yum -y install gcc gcc-c++ make cmake python3-pip openssl-devel python3-devel wget openssh-clients rsync git
#yum update
#rm -rf /etc/yum.repos.d/*Linux*
#yum update libmodulemd
#dnf -y install gcc zlib* libffi-devel

升级pip源

#mkdir /root/.pip
#vim /root/.pip/pip.conf
    [global]
    timeout = 6000
    index-url = https://mirrors.aliyun.com/pypi/simple/
    trusted-host = mirrors.aliyun.com
#pip3 install -U pip

安装kolla-ansible,kolla 版本与 openstack 版本对应关系

#pip3 install ansible==4.10.0
#pip3 install 'ansible-core==2.11.12'
#pip3 install kolla-ansible==14.0.0

安装kolla-ansible依赖,这块kolla-ansible改动较大,社区将公共的部分插件、role等拆分出去了

#vim /usr/loca/share/kolla-ansible/requirements.yml  #变更collections地址,社区tag不存在了
    ---
    collections:
      - name: https://jihulab.com/james-curtis/ansible-collection-kolla
        type: git
        version: stable/yoga
        
#kolla-ansible install-deps
#不然报错 RROR! Failed to switch a cloned Git repo `https://opendev.org/openstack/ansible-collection-kolla` to the requested revision `stable/yoga`.

安装sshpass,默认centos8 没有yum包,需要源码安装

#wget https://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz
#cd ssh-pass-1.10
#./configure
#make
#make install

2. 配置kolla-ansible
#mkdir /etc/kolla
#cp -rf /usr/local/share/kolla-ansible/etc_examples/kolla/* /etc/kolla/
#cp -rf /usr/local/share/kolla-ansible/ansible/inventory/* /etc/kolla/ 

优化ansible 性能

#mkdir /etc/ansible
#vim /etc/ansible/ansible.cfg
[default]
host_key_checking=False
pipelining=True
forks=100

测试ansible

# /usr/local/bin/ansible -i /etc/kolla/all-in-one all -m ping

生成openstack组件密码,该操作会填充/etc/kolla/passwords.yml

#kolla-genpwd
#vim /etc/kolla/globals.yml
    # Kolla options

    kolla_base_distro: "centos"
    kolla_install_type: "source"
    openstack_release: "yoga"
    kolla_internal_vip_address: "10.14.203.171"

    # Docker options
    # docker_registry: "registry.cn-beijing.aliyuncs.com"
    # docker_namespace: "kollaimage"
	openstack_logging_debug: "True"
	enable_openstack_core: "yes"
    # Neutron - Networking Options
    network_interface: "eth0"
    neutron_external_interface: "eth1"
    neutron_plugin_agent: "openvswitch"
    enable_neutron_provider_networks: "yes"

    # OpenStack services
    enable_cinder: "yes"
    enable_ironic: "yes"
3. 部署openstack

配置inventory清单 multinode,再部署服务

#cd /etc/kolla/
#vim multinode

#/usr/local/bin/kolla-ansible -i ./multinode bootstrap-servers
#/usr/local/bin/kolla-ansible -i ./multinode prechecks
#/usr/local/bin/kolla-ansible -i ./multinode pull
#/usr/local/bin/kolla-ansible -i ./multinode deploy
#/usr/local/bin/kolla-ansible -i ./multinode post-deploy
PS:

为了方便后续部署,这里将上面的容器部署机打成了docker镜像,方便后续万一社区又变动又部署麻烦。所以只需要docker run一下就可以了~

#docker pull crpi-m4g8ngb4b14cawpf.cn-shanghai.personal.cr.aliyuncs.com/robin5911/kolla_ansible:v1-yogo-b92df2d

参考:

https://releases.openstack.org/teams/kolla.html#

https://www.lvbibir.cn/posts/tech/openstack-kolla-ansible-allinone-train/

https://blog.youkuaiyun.com/qq_35485875/article/details/128868634

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

robin5911

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值