虚拟化
OpenStack
部署OpenStack(devstack)
部署OpenStack(Kolla)
qemu-img
Virtualenv(Python虚拟环境)
Virtualenvwrapper(虚拟环境管理工具)
KVM(虚拟机)
KVM(无桌面安装)
KVM(桌面安装)
KVM迁移
vnc-viewer安装与使用
vnc-server安装与使用
VMware ESXi安装
修改esxi网络配置
KVM部署esxi
报错No network adapters处理方法
开启SSH及命令行
U盘安装(大白菜)
磁盘问题
VMware vCenter安装
vCenter问题
CentOS 7 iSCSI服务(共享盘)
SmartX
本文档使用MrDoc发布
返回首页
-
+
部署OpenStack(Kolla)
2023年11月17日 16:18
admin
#准备工作(模拟all-in-one部署) ####1、配置好网卡IP(至少2张网卡) ####注意:vm模拟环境(1张nat+1张桥接网卡) nat网卡(ens192):172.16.2.101 桥接网卡(ens33):10.51.40.211 --- ####2、修改主机名 hostnamectl set-hostname yunwei-101 --- ####3、关闭防火墙、NM服务、selinux systemctl stop firewalld && systemctl disable firewalld systemctl stop NetworkManager && systemctl disable NetworkManager setenforce 0 vi /etc/sysconfig/selinux 改为disabled ####4、把节点IP写入hosts vi /etc/hosts ![](/media//202311/2023-11-22100947209949.png) ####5、做主机信任 #创建SSH免密登陆key ssh-keygen -t rsa(一直按回车) ![](/media//202311/2023-11-22101100016503.png) #分发key ssh-copy-id yunwei-101 --- ####6、修改DNS vi /etc/resolv.conf nameserver 114.114.114.114 --- #部署节点(控制) ####安装使用工具 yum -y install vim wget net-tools --- #安装ansible yum -y install epel-release yum -y install python3 python-pip --- ####配置国内的pip源 mkdir ~/.pip cat << EOF > ~/.pip/pip.conf [global] index-url = https://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com EOF --- ####升级pip pip3 install --upgrade pip --- ####安装ansible pip3 install ansible==2.9.0 --- ####修改ansible配置文件 mkdir /etc/ansible/ cat << EOF > /etc/ansible/ansible.cfg [defaults] host_key_checking=False pipelining=True forks=100 EOF --- ####查看ansible版本 ansible --version --- #部署节点(所有) ##安装DOCKER ###卸载旧版本 Docker yum remove docker docker-common docker-selinux docker-engine ###安装软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 ###添加 Docker yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo Loaded plugins: fastestmirror adding repo from: https://download.docker.com/linux/centos/docker-ce.repo grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo repo saved to /etc/yum.repos.d/docker-ce.repo ###安装 Docker (直接yum按照docker-ce即可) yum -y install docker-ce-20.10.5 ###运行 DOCKER systemctl enable docker systemctl restart docker systemctl status docker ###配置docker共享挂载 --- ####所谓共享挂载即同一个目录或设备可以挂载到多个不同的路径并且能够保持互相之间的共享可见性,类似于 mount --shared。在OpenStack for Kolla 中,主要解决 Neutron 的 namespace 在不同 container中得以保持实效性的问题。 --- mkdir -p /etc/systemd/system/docker.service.d cat << EOF > /etc/systemd/system/docker.service.d/kolla.conf [Service] MountFlags=shared EOF systemctl daemon-reload && systemctl restart docker && systemctl status docker ####配置docker镜像加速器 mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"], "registry-mirrors": ["https://25ieqbb3.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload && systemctl restart docker --- #安装kolla-ansible pip3 install kolla-ansible==9.3.0 ####复制kolla-ansible相关配置文件 cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/ cp /usr/local/share/kolla-ansible/ansible/inventory/multinode /etc/kolla/ ls /etc/kolla/ 实现效果: ls /etc/kolla globals.yml multinode passwords.yml ####自动生成各服务的密码文件 kolla-genpwd ####修改keystone和数据库的密码(163行) vim /etc/kolla/passwords.yml #注:这是登录 Dashboard,admin 使用的密码,你可以根据自己需要进行修改。密码前注意空格 ####修改全局配置文件globals.yml vim /etc/kolla/globals.yml --- kolla_base_distro: "centos" kolla_install_type: "binary" openstack_release: "train" node_custom_config: "/etc/kolla/config" kolla_internal_vip_address: "172.16.2.102"--->不存在主机的IP地址 docker_namespace: "kolla" network_interface: "eth0"--->管理网络出口网卡 api_interface: "{{ network_interface }}" neutron_external_interface: "eth1"--->外部网络网卡 neutron_plugin_agent: "openvswitch" enable_haproxy: "yes" enable_ceph: "no" enable_chrony: "no" enable_cinder: "yes" enable_grafana: "yes" enable_heat: "no" enable_mariabackup: "yes" enable_neutron_dvr: "yes" enable_neutron_fwaas: "yes" enable_neutron_qos: "yes" enable_neutron_provider_networks: "yes" glance_backend_ceph: "no" glance_enable_rolling_upgrade: "no" cinder_backend_ceph: "no" cinder_backup_driver: "nfs" nova_backend_ceph: "no" prometheus_cmdline_extras: "-storage.local.retention 720h" nova_console: "novnc" nova_compute_virt_type: "kvm" enable_cinder_backup: "yes" enable_cinder_backend_nfs: "yes" enable_ceilometer: "yes" enable_gnocchi: "yes" enable_grafana: "yes" enable_ceilometer_ipmi: "yes" enable_horizon_zun: "{{ enable_zun | bool }}" enable_zun: "yes" enable_opendaylight: "yes" enable_opendaylight_qos: "yes" enable_opendaylight_l3: "yes" enable_horizon_fwaas: "{{ enable_neutron_fwaas | bool }}" enable_kuryr: "yes" kolla_dev_mode: "yes" heat_dev_mode: "yes" ####修改multinode文件 vim /etc/kolla/multinode 修改为所有节点的主机名或IP地址,根据hosts来 我的主机名为:yunwei-101 ![](/media//202311/2023-11-22102519182574.png) ####注:如果主机数较多可以使用正则表达式;例如: --- ####检查 #检查multinode配置是否正确,实现ping通各个主机 ansible -i /etc/kolla/multinode all -m ping ![](/media//202311/2023-11-22102632437013.png) ####部署检查 #替换为python3 cp -f /usr/bin/pip3 /bin/pip2 pip2.7 install --upgrade pip==20.3.4 --- kolla-ansible -i /etc/kolla/multinode bootstrap-servers #这个命令是为了准备部署环境。它主要负责在目标服务器上安装必要的软件包,配置Docker,设置正确的内核参数,创建必要的目录结构等。简单来说,它为Kolla-Ansible的后续步骤做准备。 ![](/media//202311/2023-11-22102658724100.png) kolla-ansible -i /etc/kolla/multinode prechecks #这个命令用于检查目标服务器是否满足Kolla-Ansible部署OpenStack的所有先决条件。它会检查各种硬件和软件条件,例如内存、磁盘空间、网络设置、操作系统版本等。如果所有检查都通过,那么你可以继续进行OpenStack的部署。如果有任何检查失败,你需要解决这些问题,然后再次运行prechecks命令,确保所有条件都满足。 ![](/media//202311/2023-11-22103437068015.png) --- ####开始部署 kolla-ansible -i /etc/kolla/multinode deploy ![](/media//202311/2023-11-22180943530408.png) --- #资料 https://blog.csdn.net/qq_45382565/article/details/126657144 https://zhuanlan.zhihu.com/p/448434255 https://blog.csdn.net/qq_26442553/article/details/127932169 ---
分享到: