制作镜像

制作镜像

兼容红帽 OpenStack 的镜像

新创一台虚拟机

开启虚拟化引擎 Intel VT-x/EP T 或 AMD-V/RVI(V)

网络选择NAT,安装为GUI

[root@local ~]# mount /dev/cdrom /mnt
[root@local ~]# rm -rf /etc/yum.repos.d/*
[root@local ~]# vim /etc/yum.repos.d/local.repo
[abc]
name=abc
baseurl=file:///mnt
gpgcheck=0

[root@local ~]# yum repolist all
[root@local ~]# yum -y groupinstall "Virtualization*"
[root@local ~]# yum -y install libguestfs-tools-c.x86_64    #qcow2封装工具

#创建KVM虚拟机
[root@local ~]# mkdir /iso
[root@local ~]# ls /iso #上传镜像
Centos-7.6.1810-x86_64-DVD.iso

[root@local ~]# cd /disk
[root@local ~]# qemu-img create -f qcow2 centos 20g

[root@local ~]# virt-install \
--name centos \
--memory 2048 \
--vcpus 1 \
--disk path=/disk/centos \
--location /iso/Centos-7.6.1810-x86_64-DVD.iso \
--network network=default

# 安装界面NETWORK点开Configure    
# Generl里的Automatically connect勾上  重启后,网卡自动开启

配置KVM虚拟机

在刚刚创建好的KVM虚拟机里操作

[root@kvm ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
#只保留以下部分
TYPE=Ethernet
BOOTPROTO=dhcp
DEVICE=eth0
ONBOOT=yes

#安装包,可以获取到用户的自定义数据(用户名密码等)
[root@kvm ~]# yum install -y cloud-utils-growpart cloud-init
[root@kvm ~]# vi /etc/cloud/cloud.cfg  
#cloud_init_modules 下面最后一行添加内容
- resolv-conf

[root@kvm ~]# vi /etc/sysconfig/network                #避免EC2元数据服务出错
NOZEROCONF=yes

[root@kvm ~]# vi /etc/default/grub                     #日志在dashboard中出现
GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8"

[root@kvm ~]# grub2-mkconfig -o /boot/grub2/grub.cfg   #执行加载引导向内容
[root@kvm ~]# init0                                    #关闭kvm虚拟机

创建QCOW2镜像

在虚拟机里操作

OpenStack发放实例就可以选择这个镜像

[root@local ~]# virsh list --all
[root@local ~]# virt-sysprep -d centos     #清理个性化数据
[root@local ~]# virsh domblklist centos    #查看centos实例磁盘文件
[root@local ~]# virt-sparsify --compress /var/lib/libvirt/images/centos7.qcow2 /iso/cloud.qcow2                        
                                           #压缩创建镜像

设置root初始密码

在OpenStack里的控制节点和计算节点

#控制节点
[root@controller ~]# vi /etc/openstack-dashboard/local_settings
#修改以下内容
'can_set_password':True,

[root@controller ~]# vi /etc/nova/nova.conf
#修改以下内容
inject_password=true          

[root@controller ~]# source keystonerc_admin
[root@controller ~(keystone_admin)]# systemctl restart openstack-nova-compute.service
[root@controller ~(keystone_admin)]# systemctl restart httpd.service


#计算节点
[root@compute ~]# vi /etc/nova/nova.conf
#修改以下内容
inject_password=true     

[root@compute ~]# source keystonerc_admin
[root@compute ~(keystone_admin)]# systemctl restart openstack-nova-compute.service
posted @ 2023-06-29 13:49  陽YANG  阅读(10)  评论(0编辑  收藏  举报