正文
一、准备服务器资源:
节点 | IP | 主机名 | 配置 |
单机节点 | 192.168.199.171 | OpenStack | 4核8g |
二、搭建 python3 环境
三、关闭防火墙和 selinux
四、编辑 host 文件
五、修改主机名
hostnamectl set-hostname OpenStack
六、下载 epel 源
yum -y install epel-release
七、配置网卡信息
IP地址 | 网络类型 | 网卡 | 在OpenStack网络中的作用 |
192.168.199.171 | bridge(桥接) | ens160 | OpenStack内部管理网络(management network),Horizon web界面访问就是通过该网卡 |
无(不能配置IP地址) | bridge(桥接) | ens224 | 外部网络(external network),让neutron(OpenStack中的网络组件)的br-ex绑定使用,OpenStack中的虚拟机是通过该网卡与外网通信 |
八、安装 ansible 和 kolla-ansible
pip3 install --upgrade setuptools pip3 install ansible pip3 install kolla-ansible
九、复制 ansible 的相关配置
cp -r /usr/local/python39/share/kolla-ansible/etc_examples/kolla /etc/ cp /usr/local/python39/share/kolla-ansible/ansible/inventory/* /etc/kolla/
十、生成OpenStack各个服务的密码文件,并修改Web页面登录密码
kolla-genpwd vim /etc/kolla/passwords.yml
十一、编辑/etc/kolla/global.yml自定义OpenStack中的部署项
#选择下载的基础镜像 kolla_base_distro: "centos" #选择的安装方法,2选1。binary二进制安装,source源码安装 kolla_install_type: "source" #选择OpenStack的版本标签, openstack_release: "yoga" #OpenStack内部管理网络地址,通过该IP访问OpenStack Web页面进行管理。如果启用了高可用,需要设置为VIP(浮动IP) kolla_internal_vip_address: "192.168.199.171" #OpenStack内部管理网络地址的网卡接口 network_interface: "ens160" #此网卡应该在没有IP地址的情况下处于活动,如果不是,那么OpenStack云平台中的云主机实例将无法访问外部网络。(存在IP时br-ex桥接就不成功) neutron_external_interface: "ens224" #关闭高可用 enable_haproxy: "no" #关闭cinder(块存储) enable_cinder: "no" #指定nova-compute守护进程使用的虚拟化技术。(kvm好像有点问题,大家可以试试,看看你们能不能过nova下载)nova-compute是一个非常重要的守护进程,负责创建和终止虚拟机实例,即管理虚拟机实例的生命周期。 nova_compute_virt_type: "qemu" #在物理机上部署时无需设置(默认kvm) ,仅在虚拟机中部署kolla-ansible-openstack时设置qemu
十二、互信任
ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa root@OpenStack
十三、配置单节点清单文件
1,$s/localhost ansible_connection=local/OpenStack/
十四、安装 Ansible Galaxy 依赖(这里是 yoga 版本)
yum install git -y cp /usr/local/python39/share/kolla-ansible/requirements.yml /usr/local/python39/ kolla-ansible install-deps
十五、开始部署
kolla-ansible -i /etc//kolla/all-in-one prechecks cp -r /usr/local/python39/share/kolla-ansible/ansible /usr/local/python39/ # 删除系统原先的 platform-python ,新建立软链接,换成自己安装的python rm -rf /usr/libexec/platform-python ln -s /usr/local/python39/bin/python3 /usr/libexec/platform-python # 安装 docker 包 pip3 install docker kolla-ansible -i /etc//kolla/all-in-one prechecks
预检查没问题之后,继续下一步
#拉取镜像(时间有点长,可以看看电影,回来再看结果) kolla-ansible -i /etc/kolla/all-in-one pull
大概花了 15 分钟。
#正式部署 kolla-ansible -i /etc/kolla/all-in-one deploy
大概花了 10 分钟。
#安装 openstack 客户端 pip3 install python-openstackclient -c https://releases.openstack.org/constraints/upper/master
验证部署,并且生成/etc/kolla/admin-openrc.sh
kolla-ansible -i /etc/kolla/all-in-one post-deploy
[root@localhost python39]# cat /etc/kolla/admin-openrc.sh # Ansible managed # 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=admin //可以看到OpenStack的Web页面账号密码 export OS_AUTH_URL=http://192.168.199.171: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 [root@localhost python39]#
十六、验证部署
浏览器输入客户端地址:http://192.168.199.171/
可以看到,已经正常进入了
十七、创建个测试网络
Step 1
Step2
Step3
Finished
最近前前后后,我已经部署4,5次了,后面还要部署,虽然很多东西都记在脑袋里了,但想想还是记录一下比较好。