【云原生系列】openstack搭建过程及使用

目录

搭建步骤

准备工作

正式部署OpenStack

安装的过程

安装组件如下

 登录页面

 进入首页

创建实例步骤

上传镜像

配置网络

服务器配置

dashboard配置

密钥配置免密登录

创建实例

绑定浮动ip 

 免密登录实例


搭建步骤

准备工作

1.关闭防火墙和网关

systemctl disable NetworkManagersystemctl disable firewalldsystemctl stop NetworkManagersystemctl stop firewalld

2.更换yum源

​
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)

  1. 选择中科大镜像源。
  2. 注意不要安装EPEL扩展源因为会导致稍后安装packstack失败,建议只更换基础源不要更换OpenStack相关的源避免后续在获取某些软件包时超时失败。
  3. 使用HTTP协议
  4. 更新软件包
  5. 清空已下载软件包缓存

最好就是选择“更新软件包”完成之后再执行一次

yum makecache

3.安装openstack-train源

yum install centos-release-openstack-train

4.安装packstack

yum install openstack-packstack

5.修改主机名

hostnamectl set-hostname packstackexec bash

6.修改/etc/selinux/config禁用selinux

vi /etc/selinux/config

修改标红处

7.临时关闭selinux 

setenforce 0

8.重启及创建快照

reboot

正式部署OpenStack

packstack --allinone

安装的过程

Clean Up [ DONE ]Discovering ip protocol version [ DONE ]Setting up ssh keys [ DONE ]Preparing servers [ DONE ]Pre installing Puppet and discovering hosts' details [ DONE ]Preparing pre-install entries [ DONE ]Setting up CACERT [ DONE ]Preparing AMQP entries [ DONE ]Preparing MariaDB entries [ DONE ]Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]Preparing Keystone entries [ DONE ]Preparing Glance entries [ DONE ]  Shared Services共享服务Checking if the Cinder server has a cinder-volumes vg[ DONE ]Storage 存储Preparing Cinder entries [ DONE ]Preparing Nova API entries [ DONE ]Creating ssh keys for Nova migration [ DONE ]Gathering ssh host keys for Nova migration [ DONE ]Preparing Nova Compute entries [ DONE ]Preparing Nova Scheduler entries [ DONE ]Preparing Nova VNC Proxy entries [ DONE ]Preparing OpenStack Network-related Nova entries [ DONE ]Preparing Nova Common entries [ DONE ]Compute计算Preparing Neutron LBaaS Agent entries [ DONE ]Preparing Neutron API entries [ DONE ]Networking网络Preparing Neutron L3 entries [ DONE ]Preparing Neutron L2 Agent entries [ DONE ]Preparing Neutron DHCP Agent entries [ DONE ]Preparing Neutron Metering Agent entries [ DONE ]Checking if NetworkManager is enabled and running [ DONE ]Preparing OpenStack Client entries [ DONE ]Preparing Horizon entries [ DONE ]Web frontends 网路的前端Preparing Swift builder entries [ DONE ]Preparing Swift proxy entries [ DONE ]Preparing Swift storage entries [ DONE ] Storage存储Preparing Gnocchi entries [ DONE ]Preparing MongoDB entries [ DONE ]Preparing Redis entries [ DONE ]Preparing Ceilometer entries [ DONE ]Preparing Aodh entries [ DONE ]Preparing Puppet manifests [ DONE ]Copying Puppet modules and manifests [ DONE ]Applying 192.168.0.120_controller.pp192.168.0.120_controller.pp: [ DONE ]Applying 192.168.0.120_network.pp192.168.0.120_network.pp: [ DONE ] 网络Applying 192.168.0.120_compute.pp  计算192.168.0.120_compute.pp: [ DONE ]Applying Puppet manifests [ DONE ]Finalizing [ DONE ]

如下图所示表示安装成功

安装组件如下

 登录页面

访问openstack服务所部署的ip地址,自动跳转到登录页

用户名有两个,admin和demo

初始密码在安装目录下

cat keystonerc_admin

 

 进入首页

创建实例步骤

上传镜像

选用CentOS7的这个镜像,你可以使用admin账号上传镜像并将“可见性”设置成“公有”

镜像下载地址:

# centos7
http://cloud.centos.org/centos/7/images/

# ubuntu
http://cloud-images.ubuntu.com/focal/20220213/

# windows
https://cloudbase.it/windows-cloud-images/#download

等待的时间可能较长,成功后如下

配置网络

服务器配置

网络的配置部分,我们需要修改网卡的配置还有桥接网桥的配置实现OpenStack实例访问外网

我的网卡是ens33,有的可能是ens192,与自己的保持一致即可

vi /etc/sysconfig/network-scripts/ifcfg-ens33#ifcfg-ens33
TYPE=OVSPort
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
vi /etc/sysconfig/network-scripts/ifcfg-br-exTYPE=OVSBridge
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME=br-ex
DEVICE=br-ex
ONBOOT=yes
IPADDR=192.168.25.24  #本机地址
GATEWAY=192.168.25.254  #服务器的网关,使用vmware的话在网络配置器可以看到
PREFIX=24
DNS1=8.8.8.8
DEVICETYPE=ovs

配置后重启网络

systemctl restart network

使用 ip addr命令检查网桥是否成功设置IP地址并能连通外网

dashboard配置

直接以admin身份登录

来到管理员选项卡中的网络-网络可以看到当前有两个项目,admin项目是外网,demo项目是其自有的私网,目前外网的子网网段不符合实际情况需要进行重新创建

 

 

来到管理员选项卡中的网络-路由可以看到默认demo项目已经有了一个路由绑定了外部网络,需要先对其删除才能重新创建public中的子网

 回到管理员选项卡中的网络-网络,直接点击蓝色public进行子网的重新创建

 先删除原子网

 

 再点击创建子网

子网创建完成

 重新创建demo项目的路由

退出当前账户,使用demo账户登录

 进入网络-路由,点击刚刚重新创建的demo路由,给其添加一个接口用于私网用于连接外部网络

 

 添加成功列表

 进入网络-网络拓扑查看网络拓扑,检查是否内外网通过demo路由连接到一起,此为配置完成

为了Ping通和能够使用SSH登录到实例需要修改默认安全组规则

 

 

添加一个浮动IP用于绑定实例,通过这个浮动IP可以和实例进行关联,通过浮动ip进入该实例

名字尽量和实例对应

密钥配置免密登录

在计算选项卡导入宿主机的公钥/终端模拟软件生成的密钥用于SSH连接实例

这里导入宿主机的公钥,安装packstack时应该默认就已经自动生成了一个公钥,可以直接使用这个公钥

点击导入密钥,第一次导入的话不会报错,我之前已经导入过一次了。

创建实例

 在计算-实例页面创建实例

点击创建实例完成创建。创建成功后列表如下

绑定浮动ip 

 

选择当时创建的浮动ip,端口选择默认的。然后点击关联

 列表如下,已经绑定浮动IP

 免密登录实例

在openstack服务器中,通过ssh命令进入

ssh centos@192.168.25.133

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/10000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运维高级学习---MySQL备份恢复

数据库备份&#xff0c;数据库为school&#xff0c;素材如下 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );创建sco…

【周赛第66期】题目、解答与疑义

目录 感想 判断题1.单选题1.2.&#xff08;有疑义&#xff09; 填空题1. 编程题1.路灯亮度题目题解答案 2.题目题解答案 感想 &#xff08;吐槽&#xff09; 在线IDE真不好用&#xff0c;不说不如CLion&#xff0c;抄一下leetcode的也好啊…… 希望支持比赛时实时看别人通过了…

MATLAB 创建神经网络模型的patternnet和newff函数区别

patternnet和newff都是在MATLAB中用于创建人工神经网络的函数&#xff0c;但它们有一些区别和适用场景。 网络类型&#xff1a; patternnet&#xff1a;用于创建多层感知器&#xff08;MLP&#xff09;类型的神经网络&#xff0c;MLP是一种前馈神经网络&#xff0c;由输入层、若…

Jupyter(CPP内核) || 如何在使用xeus-cling时添加第三方库

国内的搬运真是管杀不管埋。在CSDN上找了半天没有找到在xeus-cling添加第三方库的&#xff0c;最后还是只能自己到处去看英文文档。 先贴上英文文档的链接&#xff1a;Introduction — xeus-cling documentation 构建二进制文件时&#xff0c;通常在构建工具中指定包含目录和第…

抖音SEO源码开发指南:介绍如何开发抖音SEO源码的基本步骤和要点。

一、 抖音SEO源码开发指南&#xff1a; 确定目标&#xff1a;首先要明确开发抖音SEO源码的目标是什么&#xff0c;是提高搜索排名还是增加用户量等。根据不同的目标来制定开发策略和思路。 分析竞争&#xff1a;对于同类产品&#xff0c;要进行竞争分析&#xff0c;了解对手的…

threadLocal如何支持线程池获取

问题: ThreadLocal默认不支持子线程获取&#xff0c;而InheritableThreadLocal支持子线程获取threadLocal值&#xff0c;但是如果使用线程池&#xff0c;核心个数为1则子线程会获取到上一个threadLocal的值。 解决&#xff1a; 1.引入transmittable-thread-local jar <d…

k8s集群部署(使用kubeadm部署工具进行快速部署,相关对应版本为docker20.10.0+k8s1.23.0)

1. 安装要求 在开始之前&#xff0c;部署Kubernetes集群机器需要满足以下几个条件&#xff1a; 一台或多台机器&#xff0c;操作系统 CentOS7.x-86_x64硬件配置&#xff1a;2GB或更多RAM&#xff0c;2个CPU或更多CPU&#xff0c;硬盘20GB或更多可以访问外网&#xff0c;需要拉…

在Mac系统下搭建Selenium环境并驱动Chrome浏览器

本文带领那些使用Mac的童鞋们实现Selenium驱动Chrome浏览器&#xff0c;虽然会有坑&#xff0c;但是我们可以凭借敏捷的身手躲过。下面就开始吧&#xff1a; 安装selenium 打开终端 ->pip安装&#xff08;安装命令&#xff1a;pip3 install selenium&#xff09; 安装浏览…

如何在 SwiftUI 中使用 Touch ID 和 Face ID?

1. 需要通过指纹&#xff0c;面容认证后才能打开 App 2. 添加配置 需要向 Info.plist 文件中添加一个配置&#xff0c;向用户说明为什么要访问 添加 Privacy - Face ID Usage Description 并为其赋予值 $(PRODUCT_NAME) need Touch Id or Face ID permission for app lock 3. …

LeetCode-0727

SQL50 基础 1633 select contest_id,Round(count(*) * 100/(select count(*) from Users),2) as percentage from Users cross join Registerusing(user_id)group by contest_idorder by count(*) desc,contest_id1211 select query_name , Round(avg(rating/position),2) as…

HTML不常用但是好用的标签

sub sup <p>这个文本包含 <sub>111</sub>文本。</p> <p>这个文本包含 <sup>上标</sup> 文本。</p>下标文本将会显示在当前文本流中字符高度的一半为基准线的下方&#xff0c;但是与当前文本流中文字的字体和字号都是一样的。…

Git竞合处理

Gitee新建一个代码仓库&#xff0c;clone到本地&#xff0c;模拟竞合的情况出现 这里仓库已经配好了ssh&#xff0c;所以没有添加账户绑定的步骤 clone到本地 模拟A同学Clone代码 git clone 项目地址新建一个文件&#xff0c;上传到仓库 push到仓库 代码仓库已经可以看到了…

HEVC网络适配层介绍

h265 的分层结构 分层结构的目的 ○ 网络类型多种多样&#xff0c;不同的网络环境具有不同的特性&#xff0c;压缩视频在其中进行传输必然会受到影响&#xff1b;比如不同网络的 MTU 有所不同&#xff1b; ○ 不同的应用场景对视频有不同的需求&#xff0c;视频业务会喜用不…

springboot快速整合腾讯云COS对象存储

1、导入相关依赖 <!--腾讯云COS--><dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>3.0.1</version></dependency><dependency><groupId>com…

【矩特征】图像矩特征

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 cv2.moments() 矩特征 1. 正文 (1). 空间矩 零阶矩&#xff1a;m00一阶矩&#xff1a;m10,m01二阶矩&#xff1a;m20,m11,m02三阶矩&#xff1a;m30,m…

Python3 学习笔记 ~ 海象赋值表达式

Python 海象运算符_小嗷犬的博客-CSDN博客 myStr "abcdefghijgk"# n len(myStr) throw out exception when compling if n len(myStr) > 10 : print(f"{myStr} length: {n} is too long, expect less 10") else:print(f"{myStr} length: {n} is…

三维虚拟电子沙盘数字沙盘态势推演教程第12课

三维虚拟电子沙盘数字沙盘态势推演教程第12课 设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com 该数据库中只提供 成都市火车南站附近的数据请注意&#xff0c;104.0648,30.61658 SDK中自带了一套 导航系统&#xff0c;用的是比较详细的…

3. Spring 更简单的读取和存储对象(五大类注解 方法注解)

目录 1. 存储 Bean 对象 1.1 配置扫描路径 1.2 添加注解存储 Bean 对象 1.2.1 Controller&#xff08;控制器存储&#xff09; 1.2.2 Service&#xff08;服务存储&#xff09; 1.2.3 Repository&#xff08;仓库存储&#xff09; 1.2.4 Component&#xff08;组件存储&…

java项目之网络视频播放器(ssm+mysql+jsp)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的网络视频播放器。技术交流和部署相关看文章末尾&#xff01; 开发环境&#xff1a; 后端&#xff1a; 开发语言&#xff1a;Java 框架&a…

react经验4:动态组件

什么是动态组件&#xff1f; 在页面的一小块区域切换显示不同的组件 实现方法 1.声明示例组件 //写在component1.tsx中 const Component1()>{return (<div>组件1</div>) } //写在component2.tsx中 const Component2()>{return (<div>组件2</div…