【葵花宝典】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 云平台提 供一个简 ...
随机推荐
- Java 8 新特性:日期处理
1. Java 8 日期处理新特性 Java 8基于ISO标准日期系统,提供了java.time包来处理时间日期,且该包下的所有类都是不可变类型而且线程安全. 2. 关键类 Instant:瞬时实 ...
- Excel-HLOOKUP函数匹配查找②
问题场景 绩效奖金评定发放,针对表中的考核员工,先按考核总分评级,再根据根据分级评定绩效奖金. 场景一 在考核员工表中,根据员工的考核总分将其分为四个等级(可根据业务场景和实际情况分析):A级分数区间 ...
- easyUI验证框赋值
下面来看看easyui的各种验证框赋值的方式: <input name="userId" id="userId" class="easyui-n ...
- jenkins 配置任务
新建筑任务 ""imuke 建一个自由风格的 要执行python .py程序,我们需要把.py所在的目录设置进去 如果保存的是在svn,需要把他的地址放进去 如图: 设置自动构建时 ...
- MySQL忘记密码了怎么解决
前言:在不考虑到原来用户对关联数据库的授权问题的情况下,有以下三种思路解决 #1.登录状态下修改 说明:在登录状态的话,直接使用命令修改密码就行了 mysql> use mysql; mysql ...
- AWS中国区使用https访问部署在S3上的网站
问题描述 最近一个项目需要通过https的方式访问部署在S3上的网站,通过搜索引擎找到一篇文章,可以在AWS Global实现整个过程.但是目前AWS中国区有限制,CloudFront不能使用AWS ...
- JS验证三种提示框
1 <form> 2 <!-- 按钮选择点击 --> 3 <tr> 4 <td><input type="button" na ...
- 基于Python的邮件检测工具
邮件快速检测工具 概要介绍 mmpi,是一款使用python实现的开源邮件快速检测工具库,基于community框架设计开发.mmpi支持对邮件头.邮件正文.邮件附件的解析检测,并输出json检测报告 ...
- TurtleBot3使用课程-第二节b(北京智能佳)
目录 1.导航 2 1.1 运行导航节点 3 1.1.1 [远程PC]运行roscore 3 1.1.2 [turtlebot3 SBC]运行提出turtlebot3 3 1.1.3[远程PC]运行导 ...
- spring*.xml配置文件明文加密
spring*.xml配置文件明文加密 说明:客户要求spring*.xml中Oracle/Redis/MongoDB的IP.端口.用户名.密码不能明文存放,接到需求的我,很无奈,但是还是的硬着头皮搞 ...