OpenStack搭建和部署

Centos官网qcow2镜像修改root账号密码,开启ssh等

wget http://172.16.20.10/vmtemplate/KVM/wangrui/Debian/debian-10.2.0-openstack-amd64.qcow2

一、查看镜像文件信息

[debian-10.2-cloud]

name=Debian 10.2.0 (Buster) Cloud

osinfo=debian10

arch=x86_64

file=debian-10.2.0-openstack-amd64.qcow2

checksum[sha512]=296ad8345cb49e52464a0cb8bf4365eb0b9e4220c47ebdd73d134d51effc756d5554aee15027fffd038fef4ad5fa984c94208bce60572d58b2ab26f74bb2a5de

format=qcow2

size=566434304

revision=20191116

notes=Debian 10.2.0 (Buster).

This is a Debian installation, suited for running as OpenStack guest.

二、生成密码

使用openssl passwd -1 123456生成加密的密码:-1表示使用MD5算法对密码123456进行加密

[root@support01 ~]# openssl passwd -1 123456

$1$HDUWloxk$IZuLRX39Oa31T4YzCrCHL1

三、修改镜像密码

使用guestfish命令修改root账户密码,开启ssh远程登录

3.1、进入镜像

guestfish --rw -a debian-10.2.0-openstack-amd64.qcow2

进入交互命令界面依次执行run、list-filesystems、mount等指令

Welcome to guestfish, the guest filesystem shell for

editing virtual machine filesystems and disk images.

Type: 'help' for help on commands

      'man' to read the manual

      'quit' to quit the shell

><fs> run

><fs> list-filesystems

/dev/sda1: ext4

><fs> mount /dev/sda1  /

><fs>

3.2、编辑/etc/shadow,修改root账户的密码

><fs> vi /etc/shadow

root:*:18216:0:99999:7:::

daemon:*:18216:0:99999:7:::

bin:*:18216:0:99999:7:::

sys:*:18216:0:99999:7:::

sync:*:18216:0:99999:7:::

games:*:18216:0:99999:7:::

man:*:18216:0:99999:7:::

lp:*:18216:0:99999:7:::

mail:*:18216:0:99999:7:::

news:*:18216:0:99999:7:::

uucp:*:18216:0:99999:7:::

proxy:*:18216:0:99999:7:::

www-data:*:18216:0:99999:7:::

backup:*:18216:0:99999:7:::

list:*:18216:0:99999:7:::

irc:*:18216:0:99999:7:::

gnats:*:18216:0:99999:7:::

nobody:*:18216:0:99999:7:::

_apt:*:18216:0:99999:7:::

systemd-timesync:*:18216:0:99999:7:::

systemd-network:*:18216:0:99999:7:::

systemd-resolve:*:18216:0:99999:7:::

messagebus:*:18216:0:99999:7:::

unscd:*:18216:0:99999:7:::

ntp:*:18216:0:99999:7:::

sshd:*:18216:0:99999:7:::

将root:后面的第一个*替换为第二步加密之后的密码

替换后第一行为/etc/shadow第一行为

root:$1$HDUWloxk$IZuLRX39Oa31T4YzCrCHL1:18216:0:99999:7:::

编辑/etc/ssh/sshd_config

3.3、开启root账户ssh登录,在vi中:set number开启行号

><fs> vi /etc/ssh/sshd_config

第32行

#PermitRootLogin prohibit-password

释放掉注释,并修改值为yes,调整完之后第32行为

PermitRootLogin yes

第56行

#PasswordAuthentication yes

释放掉注释,调整完之后第56行为

PasswordAuthentication yes

编辑/root/.bashrc,开启ssh语法高亮以及内置命令别名等,1、3、4、8、15行为说明注释,除此之外释放所有注释

><fs> vi /root/.bashrc

编辑之前内容为:

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not

# need this unless you want different defaults for root.

# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '

# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:

# export LS_OPTIONS='--color=auto'

# eval "`dircolors`"

# alias ls='ls $LS_OPTIONS'

# alias ll='ls $LS_OPTIONS -l'

# alias l='ls $LS_OPTIONS -lA'

#

# Some more alias to avoid making mistakes:

# alias rm='rm -i'

# alias cp='cp -i'

# alias mv='mv -i'

编辑之后内容为:

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not

# need this unless you want different defaults for root.

PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '

umask 022

# You may uncomment the following lines if you want `ls' to be colorized:

export LS_OPTIONS='--color=auto'

eval "`dircolors`"

alias ls='ls $LS_OPTIONS'

alias ll='ls $LS_OPTIONS -l'

alias l='ls $LS_OPTIONS -lA'

#

# Some more alias to avoid making mistakes:

alias rm='rm -i'

alias cp='cp -i'

alias mv='mv -i'

最后执行quit或exit命令退出guestfish,将qcow2镜像文件注册到openstack,投递虚拟机实例即可

参考链接:

https://docs.openstack.org/image-guide/modify-images.html#guestfish

https://blog.51cto.com/superzhangqiang/1705678

https://blog.csdn.net/weixin_42551369/article/details/88946622

http://www.chenshake.com/openstack-mirror-and-password/ 

四、qcow2镜像创建实例时设置密码

在使用Linux系统镜像时,如果不使用密钥登录,可以在创建实例的时候使用脚本配置好密码,第三四行为自己需要修改的密码,两行必须相同。脚本如下:

#!/bin/bash

passwd root<<EOF

admin123

admin123

EOF

注意下面的"配置驱动"复选框请勾上,否则可能会配置后不生效。

 

修改镜像密码 方案2

4.2、libguestfs修改镜像密码

virt-customize命令行工具由libguestfs-tools包提供,可用于在各种Linux发行版上安装, Virt-customize可以通过安装软件包,编辑配置文件等来自定义虚拟机(磁盘映像),它通过修改guest虚拟机或磁盘映像来实现此目的,它适用于rawqcow2镜像格式

4.2.1安装libguestfs-tools包

4.2.2设置镜像的root密码为123456

[root@localhost kvm]# virt-customize -a disk/CentOS-7-x86_64-GenericCloud-1511.qcow2 --root-password password:123456[   0.0] Examining the guest ...[  15.5] Setting a random seed[  15.5] Setting passwords[  16.4] Finishing off

4.2.3使用参数--root-password random设置镜root密码为随机

[root@localhost kvm]# virt-customize -a disk/CentOS-7-x86_64-GenericCloud-1511.qcow2 --root-password random[   0.0] Examining the guest ...[   1.8] Setting a random seed[   1.8] Setting passwordsvirt-customize: Setting random password of root to a2QVjEg6LoYoLW6a[   2.6] Finishing off

4.2.4为其他用户设置密码,命令并不能创建用户只覆盖密码

[root@localhost kvm]# virt-customize -a disk/CentOS-7-x86_64-GenericCloud-1511.qcow2 --password tao:password:taoyuhang[   0.0] Examining the guest ...[   2.1] Setting a random seed[   2.2] Setting passwords[   2.9] Finishing off

4.2.5Openstack运行脚本注入密码

编辑nova.conf配置文件

[root@controller ~]# vim /etc/nova/nova.conf inject_password=true

启动实例时,在配置处输入自定义脚本直接输入修改密码命令

#!/bin/bashecho 'password'|passwd --stdin root

记得勾选Configuration Drive

五、OpenStack环境部署

5.1、获取centos操作系统ISO镜像

官网:https://www.centos.org/download/

5.2、创建新的虚拟机

(1)兼容性选择

(2)操作系统选择centos7

(3)给虚拟机命名为OpenStack

(4)处理器和内核选择

(5)虚拟机内存

(6)网络类型选择nat地址转换

(7)控制器等按照推荐使用

(8)创建一个新的磁盘存放

(9)指定磁盘容量

(10)选择磁盘文件存放位置

5.3、安装虚拟机

(1)进行虚拟机编辑

(1-1)勾选虚拟化引擎

(1-2)选择CD/DVD,使用下载好的centos7镜像文件,根据自己兴趣可以移除声卡和打印机

(2)安装虚拟机

(2-1)选择install centos7安装

(2-2)选择语言为中文简体

(2-3)设置网络和主机名

(2-3-1)打开以太网连接

(2-3-2)点击配置,设置dns解析

多个dns中间使用","隔开

(2-4)取消勾选kdump

(2-5)开始安装

(2-5-1)设置ROOT密码

(2-5-2)创建用户(可以创建也可以不创建)

5.4、准备OpenStack安装环境

(1)禁用防火墙和SELinux

(1-1)禁用防火墙

[root@localhost ~]# systemctl stop firewalld 停用防火墙

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# yum -y install vim 安装vim编辑器

(1-2)配置文件将防火墙永久关闭

通过修改/etc/selinux/config,将“SELINUX”的值设置为“disable”,重启系统。

[root@localhost ~]# vim /etc/selinux/config 编辑配置文件

[root@localhost ~]# reboot 重启系统

(2)停用NetworkManager服务

CentOS 7 网络默认由NetworkManager(网络管理器)负责管理,但是 NetworkManager与OpenStack网络组件 Neutron 有冲突,应停用它,改用传统的网络服务 network来管理网络。

(2-1)停用NetworkManager

[root@localhost ~]# systemctl stop NetworkManager 停用NetworkManager

[root@localhost ~]# systemctl disable NetworkManager

(2-2)使用network管理网络

[root@localhost ~]# systemctl start network 开启network服务

[root@localhost ~]# systemctl enable network

(3)修改虚拟机IP地址

(3-1)通过修改/etc/sysconfig/network-scripts/ifcfg-ens33更改网卡的IP地址参数。

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO="static" 将网络地址获取设置为静态

DNS1="61.139.2.69" dns服务器地址

DNS2="8.8.8.8"

IPADDR="192.168.80.152" IP地址

NETMASK="255.255.255.0" 子网掩码

GATEWAY="192.168.80.2" 默认网关,有nat地址转换的默认网关为“xxx.xxx.xxx.2”

(3-2)重启network服务

[root@localhost ~]# systemctl restart network

(4)修改主机名

[root@localhost ~]# hostnamectl set-hostname lincan

root@localhost ~]# vim /etc/hosts

192.168.80.128 lincan lincan.localdomain

更改主机名,就必须将新的主机名追加到/etc/hosts配置文件中,否则,在使用 RDO 安装 OpenStack的过程中启动 rabbitmq-server 服务时会失败,从而导致安装不成功。

(5)更改编译语言

如果安装的CentOS7是非英语版本,那么需要在/etc/environment配置文件中添加以下定义。

[root@lincan ~]# vim /etc/environment

LANG=en_US.utf-8

LC_ALL=en_US.utf-8

(6)设置时间同步

(6-1)安装时间同步器

整个OpenStack环境中所有节点的时间必须是同步的。在CentOS7中一般使用时间同步软件Chrony;如果没有安装,就执行以下命令进行安装。

[root@lincan ~]# yum -y install chrony

(6-2)添加时间服务器

可以在/etc/chrony.conf配置文件中增加国内的NTP服务器地址如阿里云。

[root@lincan ~]# vim /etc/chrony.conf

server ntp1.aliyun.com iburst

(6-3)检查系统时间

执行timedatectl命令查看时间。若发现本地时间不对,解决的方法是将时区设置为国内的,可以执行以下命令设置时区为上海。

#timedatectl set-timezone "Asia/Shanghai"

[root@lincan ~]# timedatectl

(7)安装所需数据库

执行以下命令以设置OpenStack库(支持Train版本)。

#yum -y update

#yum -y install centos-release-openstack-train

(7-1)更新数据库

[root@lincan ~]# yum -y update

(7-2)安装train版本

[root@lincan ~]# yum -y install centos-release-openstack-train

(8)安装packstack

执行以下命令安装 openstack-packstack及其依赖包。

(8-1)更新数据库

[root@lincan ~]# yum -y update

(8-2)安装 openstack-packstack及其依赖包

[root@lincan ~]# yum -y install openstack-packstack

(9)安装packstack安器

Packstack 是 RDO的OpenStack 安装工具,用于取代手动设置 OpenStack Packstack 基于 Puppet 工具,通过Puppet 部署 OpenStack各组件。Puppet是一种 Linux、 UNIX和Windows平台的集中配置管理系统,使用自有的Puppet描述语言,可管理配置文件、用户、任务、软件包、系统服务等。

Packstack安装器的基本用法如下:packstack [选项] [--help]

1.--gen-answer-file=GEN_ANSWER_FILE:产生应答文件模板。

2.--answer-file=ANSWER_FILE:依据应答文件的配置信息以非交互模式运行该工具

3.--install-hosts=INSTALL_HOSTS:在一组主机上进行批量安装,主机列表以逗号分隔。

4.--allinone:将所有功能集中安装在单一主机上。

(9-1)将所有功能集中安装在单一主机上。

[root@lincan ~]# packstack --allinone

安装过程出现问题

192.168.80.152_controller.pp: [ ERROR ]

Applying Puppet manifests [ ERROR ]

ERROR : Error appeared during Puppet run: 192.168.80.152_controller.pp

Notice: /Stage[main]/Nova::Db::Sync/Exec[nova-db-sync]/returns: Error: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'lincan' (using password: YES)") (Background on this error at: http://sqlalche.me/e/e3q8)

You will find full trace in log /var/tmp/packstack/20230221-101322-6tiImI/manifests/192.168.80.152_controller.pp.log

Please check log file /var/tmp/packstack/20230221-101322-6tiImI/openstack-setup.log for more information

Additional information:

* Parameter CONFIG_NEUTRON_L2_AGENT: You have chosen OVN Neutron backend. Note that this backend does not support the VPNaaS or FWaaS services. Geneve will be used as the encapsulation method for tenant networks

* A new answerfile was created in: /root/packstack-answers-20230221-101325.txt

* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.

* File /root/keystonerc_admin has been created on OpenStack client host 192.168.80.152. To use the command line tools you need to source the file.

* To access the OpenStack Dashboard browse to http://192.168.80.152/dashboard .

Please, find your login credentials stored in the keystonerc_admin in your home directory.

You have new mail in /var/spool/mail/root

解决问题:win10系统版本更新16.2.4

win11系统更新17.0.0

安装成功

(9-2)运行Packstack安装OpenStack

查看openstack主要组件版本号:

#nova-manage --version

[root@lincan ~]# nova-manage --version

(10)登入OpenStack

用户名demo或admin

查看密码

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

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

相关文章

Linux Debian12使用podman安装upload-labs靶场环境

一、upload-labs简介 PHP语言编写&#xff0c;持续收集渗透测试和CTF中针对文件上传漏洞的靶场&#xff0c;总共21关&#xff0c;每一关都包含着不同的上传绕过方式。 二、安装podman环境 Linux Debian系统如果没有安装podman容器环境&#xff0c;可以参考这篇文章先安装pod…

透过许战海矩阵洞察安记食品增长战略

引言&#xff1a;安记食品如果想实施增长战略&#xff0c;建议深耕招牌产品,走向全国市场,目前招牌产品咖哩和复合调味粉市场空间没有被全面释放出来,需要科学的产品战略作为支撑。安记食品选择功能性产品方向是正确的,但“功能性”需要一个大品类作为载体,牛奶,饮料是最大的载…

网站被恶意扫描怎么办(上WAF)

在网络安全领域&#xff0c;有一大类工具被广泛使用&#xff0c;且作用不可忽视&#xff0c;它就是网络安全扫描器。扫描器是一种专门设计用来评估计算机、网络或者应用中已知的弱点的计算机程序&#xff0c;但是很多人恶意使用&#xff0c;找到网站弱点进行攻击。 扫描器的种…

K8S理论

kubernetes&#xff1a;8个字母省略&#xff0c;就是k8s 自动部署自动扩展和管理容器化部署的应用程序的一个开源系统 k8s是负责自动化运维管理多个容器化程序的集群&#xff0c;是一个功能强大的容器编排工具 分布式和集群化的方式进行容器化管理 版本有1.15 .1.18 .1.20 …

问答区故意在结题前回答混赏金的狗

此贴专记录CSDN问答社区里面&#xff0c;一些回答者在临近结题时胡乱回答&#xff0c;只为分取结题赏金的人。 所有图片均为事实&#xff0c;绝无半点虚假。各位看官可以自行搜索问题题目或者通过查看此人回答求证 所有图片均为事实&#xff0c;绝无半点虚假。各位看官可以自行…

c语言中数据结构

一、结构体的由来 1. 数据类型的不足 C语言中&#xff0c;基本数据类型只有整型、字符型、浮点型等少数几种&#xff0c;无法满足复杂数据类型的需要。 2. 数组的限制 虽然数组可以存储多个同类型的数据&#xff0c;但是数组中的元素个数是固定的&#xff0c;无法动态地改变…

渗透测试——1.3计算机网络基础

一、黑客术语 1、肉鸡&#xff1a;被黑客攻击电脑&#xff0c;可以受黑客控制不被发现 2、端口&#xff08;port&#xff09;&#xff1a;数据传输的通道 3、弱口令&#xff1a;强度不高&#xff0c;容易被猜到的口令、密码 4、客户端&#xff1a;请求申请电脑&#xff08;…

10. UVM Environment

环境为agents, scoreboards和其他验证组件&#xff08;包括有助于在 SoC 级别重用块级环境组件的其他环境类&#xff09;提供良好的层次结构和容器。用户定义的 env 类必须从 uvm_env 类扩展。 10.1 uvm_env class hierarchy 类声明&#xff1a; virtual class uvm_env extend…

k8s的二进制部署(一)

k8s的二进制部署&#xff1a;源码包部署 环境&#xff1a; k8smaster01: 20.0.0.71 kube-apiserver kube-controller-manager kube-schedule ETCD k8smaster02: 20.0.0.72 kube-apiserver kube-controller-manager kube-schedule Node节点01: 20.0.0.73 kubelet kube-pr…

nodejs+vue+ElementUi大学新生入学系统的设计与实现1hme0

采用B/S模式架构系统&#xff0c;开发简单&#xff0c;只需要连接网络即可登录本系统&#xff0c;不需要安装任何客户端。开发工具采用VSCode&#xff0c;前端采用VueElementUI&#xff0c;后端采用Node.js&#xff0c;数据库采用MySQL。 涉及的技术栈 1&#xff09; 前台页面…

Stable Diffusion模型原理

1 Stable Diffusion概述 1.1 图像生成的发展 在Stable Diffusion诞生之前&#xff0c;计算机视觉和机器学习方面最重要的突破是 GAN&#xff08;Generative Adversarial Networks 生成对抗网络&#xff09;。GAN让超越训练数据已有内容成为可能&#xff0c;从而打开了一个全新…

Elasticsearch8.x结合OpenAI CLIP模型实现图搜图及文搜图功能

前言 在当今大数据时代&#xff0c;搜索引擎已经是许多应用的核心组件之一&#xff0c;近年随着大模型以及AI技术&#xff08;如&#xff1a;自然语言处理NLP&#xff09;的流行&#xff0c;这些技术的结合将会创造出更多的应用场景&#xff0c;比如&#xff1a;电商商品搜索、…

系列十五(面试)、RocketMQ消息重复消费问题

一、RocketMQ消息重复消费问题 1.1、官网 1.2、消息重复被消费原因 通过上述官网的描述我们可以知道&#xff0c;RocketMQ中的消息是存在重复消费的情况的。那么消息为什么会被重复消费呢&#xff1f;先来回顾一下RocketMQ的消息是怎么发送和接收的&#xff1a; 从上图可以看出…

c++primer—读书笔记【全能详细版】

第1章 开始 1.1 编写一个简单的c程序 1.1.1 编译.运行程序 ​ int类型是一种内置类型&#xff0c;即语言自身定义的类型 1.2 初识输入输出 ​ 输入流和输出流而言&#xff0c;一个流就是一个字符序列。术语“流”的意思表示&#xff0c;随时间的推移&#xff0c;字符是顺序…

dl转置卷积

转置卷积 转置卷积&#xff0c;顾名思义&#xff0c;通过名字我们应该就能看出来&#xff0c;其作用和卷积相反&#xff0c;它可以使得图像的像素增多 上图的意思是&#xff0c;输入是22的图像&#xff0c;卷积核为22的矩阵&#xff0c;然后变换成3*3的矩阵 代码如下 import…

Django(三)

1.快速上手 确保app已注册 【settings.py】 编写URL和视图函数对应关系 【urls.py】 编写视图函数 【views.py】 启动django项目 命令行启动python manage.py runserverPycharm启动 1.1 再写一个页面 2. templates模板 2.1 静态文件 2.1.1 static目录 2.1.2 引用静态…

【三维生成】稀疏重建、Image-to-3D方法(汇总)

系列文章目录 总结一下近5年的三维生成算法&#xff0c;持续更新 文章目录 系列文章目录一、LRM&#xff1a;单图像的大模型重建&#xff08;2023&#xff09;摘要1.前言2.Method3.实验 二、SSDNeRF&#xff1a;单阶段Diffusion NeRF的三维生成和重建&#xff08;ICCV 2023&am…

HTML---定位

目录 文章目录 一.定位属性概述 二.position 基础数值 三.z-index属性 网页元素透明度 练习 一.定位属性概述 HTML中的定位属性指的是用来控制HTML元素在页面中的位置和布局的属性&#xff0c;包括position、top、bottom、left和right等。 position属性指定了元素的定位方式&a…

腾讯云轻量2核2G3M带宽服务器、40G系统盘、200G月流量优惠62元一年

继昨天阿里云2核2G3M带宽轻量应用服务器降价到63元后&#xff0c;腾讯云迅速做出响应&#xff0c;腾讯云轻量2核2G3M服务器降价到62元一年&#xff0c;1元之差&#xff0c;你选择阿里云还是腾讯云&#xff1f;值得一提的是&#xff0c;阿里云不限制月流量&#xff0c;但是腾讯云…

VMware安装笔记

1、首先准备安装文件 没有的小伙伴可以网上自行下载&#xff0c;或者给我留言&#xff0c;我发给你。 2、开始安装 2.1、双击运行exe安装文件&#xff0c;下一步 2.2、接受许可&#xff0c;下一步 2.3、选择安装路径 2.4、选择好安装路径后&#xff0c;继续下一步 2.5、取消勾…