【葵花宝典】kolla部署OpenStack-AllinOne
1.关闭防火墙以及内核安全机制
systemctl stop firewalld
systemctl disable firewalld ##永久性关闭
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux ##永久性关闭
2.安装拓展源关闭NetworkManager
yum -y install epel-release
systemctl disable NetworkManager
systemctl stop NetworkManager
3.修改主机名并定时同步时间
hostnamectl set-hostname cloud.itdogs.org
vim /etc/hosts
192.168.11.11 cloud.itdogs.org
yum -y install ntpdate
ntpdate ntp.aliyun.com
##创建计划性任务表,每两分钟更新一次时钟
[root@control ~]# crontab -e
*/2 * * * * /usr/sbin/ntpdate ntp.aliyun.com >> /var/log/ntpdate.log
4.安装基础包及docker服务
安装基础包
yum install python-devel libffi-devel gcc openssl-devel git python-pip -y
mkdir ~/.pip
vim ~/.pip/pip.conf
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
安装docker并设置镜像加速
yum -y remove docker docker-common docker-selinux docker-engine //卸载旧版本
yum -y install yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo //阿里云yum源
yum list docker-ce --showduplicates | sort -r //找到yum源里相应的包
yum install -y docker-ce
systemctl start docker
systemctl enable docker
vi /etc/docker/daemon.json
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://registry.docker-cn.com"
]
}
sudo systemctl restart docker
5.安装kolla-ansible
yum install ansible -y
pip install kolla-ansible #安装kolla-ansible,如果报错,pip install kolla-ansible --ignore-installed PyYAML
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
ls /etc/kolla/
cp /usr/share/kolla-ansible/ansible/inventory/* /etc/kolla/
ls /etc/kolla/
修改虚拟机类型为qemu注:如果是在虚拟机里装 kolla,希望可以启动再启动虚拟机,那么你需要把virt type=qemu,默认是kvm。如果vmware 开了“虚拟化Intel VT"功能,就不用写这个了。
mkdir -p /etc/kolla/config/nova
cat <<EOF>/etc/kolla/config/nova/nova-compute.conf
[libvirt]
virt type=qemu cpu_mode=none
EOF
6.自定义kolla-ansible安装脚本
自动生成openstack 各服务的密码文件
kolla-genpwd
编辑vi /etc/kolla/globals.yml 自定义openstack中部署事项
cat >> /etc/kolla/globals.yml <<EOF
#version
kolla_base_distro:"centos"
kolla_install_type:"binary"
openstack_release:"train"
#vip
kolla_internal_vip_address:"192.168.11.11"
#docker registry
docker_registry:"registry.cn-shenzhen.aliyuncs.com"
docker_namespace:"kollaimage"
#network
network_interface:"ens33"
neutron_external_interface:"ens37"
neutron_plugin_agent:"openvswitch"
enable_neutron_provider_networks:"yes"
#storage
enable_cinder:"yes"
enable_cinder_backend_lvm:"yes"
#virt_type
nova_compute_virt_type:"qemu"
EOF
改:15#kolla_base_distro:"centos"#选择下载的镜像为基于 centos版本的镜像为:kolla base distro:"centos"
改:18#kolla install type:"binary"#去了前面的#号,使用yum 安装二进制包安装源码安装,指的是使用 git clone 源码安装
为:18 kolla install type:"binary"
改:21#openstack release:""为openstack release:"rocky"#指定安装rocky 版本的openstack,后期下载的openstack相关的docker 镜像的tag 标记也都为rocky
23#Location of configuration overrides
24#node_custom_config:"/etc/kolla/config"#配置文件的位置
改:31#kolla internal vip address:"10.10.10.254"为:31kolla internal_vip address:"192.168.1.63"
#我们没有启用高可用,所以这里的IP可以和ens33一样,也可以独立写一个和ens33同网段的IP。这一项的作用是:指定openstack 内部管理地址,以后就通过这个IP地址访问 openstack web界面,管理私云。
注:如果配置了高可用,这里要使用一个没被占用的IP。这个IP是搭建HA高可用的浮动IP。此IP将由keepalived 管理以提供高可用性,应设置为和network interface ens33同一个网段的地址。
改:85#network interface:"etho"为:network interface:"ens33"#Kolla-Ansible 需要设置一些网络选项。我们需要设置OpenStack 使用的网络接口。设置的第一个接口是“network_interface"。这是openstack内部多个管理类型网络的默认接口。
改:100#neutron external interface:"eth1"
为:100 neutron_external_interface:"ens38"#所需的第二个接口专用于Neutron外部(或公共)网络,可以是vlan或flat,取决于网络的创建方式。此接口应在没有IP地址的情况下处于活动如果不是,openstack 云平台中的云主机实例将无法访问外部网络。只要网卡启动着,就可以了,不要给IP,有IP时br-ex桥接就不成功了。
177#enable_cinder:"no"#先不开启cinder
改:195#enable haproxy:"yes"为:195 enable_haproxy:"no”#去了前面的#号,改yes为no。关闭高可用
7.开始安装
生成SSHKey,并授信本节点:
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub root@cloud.itdogs.org
[root@cloud kolla]#vim /etc/kolla/all-in-one#把 localhost 替换成cloud.itdogs.org
:1, $s/localhost/cloud.itdogs.org/
:1, $s/ansible_connection=local//
注:将以下组件,都安装到cloud.itdogs.org这台机器上:改第1行到19行中。
[control]
cloud.itdogs.org
[network]
cloud.itdogs.org
[compute]
cloud.itdogs.org
...
[deployment]
cloud.itdogs.org
开始部署OpenStack
通过安装 bootstrap-servers 把部署openstack 所需要的依赖包都安装好Kolla-Ansible 提供了一个将以正确版本安装所有必需服务的剧本 bootstrap-servers。所以我们先安装bootstrap-servers 把安装 openstack 所依赖的软件包都先提前安装好。包括docker 服务。
kolla-ansible -i /etc/kolla/all-in-one bootstrap-servers
kolla-ansible -i /etc/kolla/all-in-one prechecks
设置docker volume卷挂载方式
tee /etc/systemd/system/docker.service.d/kolla.conf <<'EOF'
[Service]
MountFlags=shared
EOF
注:加上MountFlags=shared后,当 docker 宿主机新增分区时,docker 服务不用重启。添加这个参考后,后期在openstack 中使用cinder 存储服务时,新加磁盘比较方便。
重启相关服务
systemctl daemon-reload #只有修改了服务的启动脚本,才需要执行daemon-reload。只修改服务的配置文件,是不需要daemon-reload
systemctl enable docker && systemctl restart docker && systemctl status docker
拉取镜像
kolla-ansible -i /etc/kolla/all-in-one pull
查看网络链接
netstat -antup|grep 443
查看下载的镜像
docker images
docker images |wc -l
进入OpenStack实际安装部署阶段
kolla-ansible -i /etc/kolla/all-in-one deploy
#因为咱们前面已经下载的镜像,所以这时启动 docker实例会快一些。如果前面没有下载镜像,那么这时,还会边下载各种openstack 相关的镜像边部署 docker实例。
验证部署
kolla-ansible -i /etc/kolla/all-in-one post-deploy
这样就创建/etc/kolla/admin-openrc.sh 文件
cat /etc/kolla/admin-openrc.sh
查看密码登录即可
【葵花宝典】kolla部署OpenStack-AllinOne的更多相关文章
- kolla部署openstack allinone,报错 ImportError: cannot import name decorate
使用 kolla-ansible 部署 opnenstack:stein,最后无法导入变量脚本,报错信息如下: [root@kolla ~]# . /etc/kolla/admin-openrc.sh ...
- kolla部署openstack allinone,报错APIError: 500 Server Error: Internal Server Error (\"oci runtime error: container_linux.go:235: starting container process caused \"container init exited prematurely
使用 kolla-ansible 部署 opnenstack:stein 执行 kolla-ansible -i ./all-in-one deploy 开始自动化部署 在部署过程中报错,报错信息如下 ...
- OpenStack(四)——使用Kolla部署OpenStack多节点云
(1).实验环境 主机名 IP地址 角色 内存 网卡 CPU 磁盘 OpenStack-con 192.168.128.110 controller(控制) 8G 桥接网卡ens32和ens33 4核 ...
- kolla部署openstack多节点高可用并对接ceph后端存储(17)
部署节点执行: 安装基础包和docker yum install python-devel libffi-devel gcc openssl-devel git python-pip -y 升级一下 ...
- kolla-ansible部署openstack allinone单节点
环境准备 2 network interfaces 8GB main memory 40GB disk space 1.修改hostname hostnamectl set-hostname koll ...
- Linux运维---16. Kolla部署OpenStack外接rabbit集群
# 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...
- Linux运维--14.Kolla部署OpenStack使用external MariaDB Galera Cluster
使用haproxy+keepalived实现Mariadb负载均衡 controller2: 10.100.2.52 haproxy+keepalived controller3: 10.100.2. ...
- kolla 多节点部署 openstack
kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...
- Ubuntu 18.04.1 LTS + kolla-ansible 部署 openstack Rocky all-in-one 环境
1. kolla 项目介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的自动化部署能力. kolla 要实现 openetack 部署分为两步,第一步是制作 do ...
- kolla部署all-in-one环境(N版)
简单介绍: Kolla 是 OpenStack 大帐篷模式下的官方子项目之一,其主要目标是通过利用 Docker 容器以及 Ansible 自动化部署工具,来为 OpenStack 云平台提 供一个简 ...
随机推荐
- 【JVM】类加载时机与过程
虚拟机把描述类的数据从class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制.下面来总结梳理类加载的五个阶段. 类加载发生在 ...
- Spring中BeanFactory与FactoryBean到底有什么区别?
一.BeanFactory BeanFactory是一个接口,它是Spring中工厂的顶层规范,是SpringIoc容器的核心接口,它定义了getBean().containsBean()等管理Bea ...
- luabind 使用
LuaBind --最强大的Lua C++ Bind 转载:http://www.cppblog.com/deane/articles/49208.html1 介绍LuaBind 是一个帮助你绑定C+ ...
- MySQL高可用方案-MySQL InnoDB Cluster
MySQL InnoDB Cluster简介 MySQL InnoDB Cluster 是最新GA的MySQL高可用方案,利用MySQL Group Replication和MySQL Shell.M ...
- 学习Python之数据类型
格式化字符串 字符串格式化是一种非常简洁的特性,它能让我们动态更新字符串中的内容.假设我们有从服务器获取的用户信息,并希望根据该信息显示自定义消息,第一个想法是应用字符串连接之类的东西. first_ ...
- package和import机制
package是Java中的包机制,包机制的作用是方便为了程序的管理.不同功能的类机制分别存放在不同的包下面.(按照功能划分,不同的包有着不同的性质) package怎么使用:package是一个关键 ...
- 数据接口请求异常:parsererror
问题一:直接拿别人的文件放在本地打开 如下图 原因:这是提示"交叉源请求仅支持协议方案:HTTP.数据.Chrome.Chrome扩展.HTTPS." 也就是你不能用本地文件打开, ...
- java图像开发学习——JTable之导入数据库
package demo; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.MouseAd ...
- Docker容器技术--自定义网桥后的默认网卡名称
新建docker虚拟网络命令 这里以172.18.0.1为例,名字为clusterdocker network create --subnet=172.18.0.0/16 cluster 当我们想新建 ...
- ConcurrentHashMap 并发之美
一.前言 她如暴风雨中的一叶扁舟,在高并发的大风大浪下疾驰而过,眼看就要被湮灭,却又在绝境中绝处逢生 编写一套即稳定.高效.且支持并发的代码,不说难如登天,却也绝非易事. 一直有小伙伴向我咨询关于Co ...