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的更多相关文章

  1. kolla部署openstack allinone,报错 ImportError: cannot import name decorate

    使用 kolla-ansible 部署 opnenstack:stein,最后无法导入变量脚本,报错信息如下: [root@kolla ~]# . /etc/kolla/admin-openrc.sh ...

  2. 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 开始自动化部署 在部署过程中报错,报错信息如下 ...

  3. OpenStack(四)——使用Kolla部署OpenStack多节点云

    (1).实验环境 主机名 IP地址 角色 内存 网卡 CPU 磁盘 OpenStack-con 192.168.128.110 controller(控制) 8G 桥接网卡ens32和ens33 4核 ...

  4. kolla部署openstack多节点高可用并对接ceph后端存储(17)

    部署节点执行: 安装基础包和docker yum install python-devel libffi-devel gcc openssl-devel git python-pip -y 升级一下 ...

  5. kolla-ansible部署openstack allinone单节点

    环境准备 2 network interfaces 8GB main memory 40GB disk space 1.修改hostname hostnamectl set-hostname koll ...

  6. Linux运维---16. Kolla部署OpenStack外接rabbit集群

    # 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...

  7. Linux运维--14.Kolla部署OpenStack使用external MariaDB Galera Cluster

    使用haproxy+keepalived实现Mariadb负载均衡 controller2: 10.100.2.52 haproxy+keepalived controller3: 10.100.2. ...

  8. kolla 多节点部署 openstack

    kolla 介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的交付能力.kolla 的基本思想是一切皆容器,将所有服务基于 Docker 运行,并且保证一个容器只 ...

  9. Ubuntu 18.04.1 LTS + kolla-ansible 部署 openstack Rocky all-in-one 环境

    1. kolla 项目介绍 简介 kolla 的使命是为 openstack 云平台提供生产级别的.开箱即用的自动化部署能力. kolla 要实现 openetack 部署分为两步,第一步是制作 do ...

  10. kolla部署all-in-one环境(N版)

    简单介绍: Kolla 是 OpenStack 大帐篷模式下的官方子项目之一,其主要目标是通过利用 Docker 容器以及 Ansible 自动化部署工具,来为 OpenStack 云平台提 供一个简 ...

随机推荐

  1. GC agent的安装和卸载

    一.GC agent安装 下面介绍GC agent的push和pull两种安装方法 1.push(推送)安装GC agent方法 1).打开EMGC home page:https://even.or ...

  2. PHP代码审计学习-PHP-Audit-Labs-day1

    0x01 前言 偶然间看到红日团队的PHP代码审计教程,想起之前立的flag,随决定赶紧搞起来.要不以后怎么跟00后竞争呢.虽然现在PHP代码审计不吃香,但是php代码好歹能看懂,CTF中也经常遇到, ...

  3. (转) SQL 中的 NULL 你真的懂了吗?【数据库|SQL】

    注:转载自下面链接 https://blog.csdn.net/lnotime/article/details/104847946 SQL 中的 NULL (译自 NULL Values in SQL ...

  4. 一个java文件被执行的历程

    学习java以来,都是以语法,类库入手,最基本的也是最基础的java编译过程往往被我遗忘,先解释一下学习java第一课时,都听到过的一句话,"java是半解释语言".什么是半解释语 ...

  5. react第八单元(什么是纯函数-组件的性能优化-pureComponent-组件性能优化的原理)

    课程目标 理解纯函数 熟练掌握组件性能优化的几种技巧 pureComponent和Component的区别 #知识点 一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数 ...

  6. ECharts的下载和安装(图文详解)

    首先搜索找到ECharts官网,点击进入. 找到下载 进入就看到第三步,就点击在线制作 点击进入之后就自己可以选择里面的形状图,就在线制作.最后生成echarts.min.js 点击下载后就会生成js ...

  7. Laravel笔记记录

    1.获取当前控制器和action名称 request()->route()->getAction()

  8. iframe高度自动随着子页面的高度变化而变化(不止要在iframe标签里加上this.height=this.contentWindow.document.body.scrollHeight)

    最近使用iframe整合页面遇到一些难题,走了很多弯路才解决,借此记录一下: 1 <!-- 页面主体内容 --> 2 <div class="iframe-wrapper& ...

  9. Python之matplotlib画图

    折线图: Matplotlib处理csv文件 这里写两个其他的. 柱状图,柱状图个人喜欢用pygal来画,有两篇文章 - Pygal之掷骰子 和 pygal之掷骰子 - 2颗面数为6的骰子.下面用ma ...

  10. Asp.Net Core仓储模式+工作单元

    仓储模式+工作单元 仓储模式 仓储(Repository)模式自2004年首次作为领域驱动模型DDD设计的一部分引入,仓储本质上是提供提供数据的抽象,以便应用程序可以使用具有接口的相似的简单抽象集合. ...