镜像服务概览

本文需要的镜像点我下载

  镜像服务有什么去看官方文档,这不赘述。这里只说安装和验证

镜像服务安装和配置

  现在这些服务的安装步骤基本上都要遵循上一节说的那个条件了

  • 数据库创库授权
      首先进入mysql,直接在终端里输入mysql然后输入下面的命令开始创库授权,之后exit退出数据库:
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
  IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
  IDENTIFIED BY 'GLANCE_DBPASS';
  • 在keystone创建glance用户关联角色
      在终端中输入下面命令,这里的密码使用的默认的GLANCE_PASS,就不要去修改了,之后关联即可:
openstack user create --domain default --password GLANCE_PASS glance
openstack role add --project service --user glance admin

  执行完之后是下面的样子:
pT6y.png
  如果你执行完报错的话绝对是你上次关机了然后环境变量没有写,输入下面的命令,刷新环境变量即可:

source admin-openrc 

  这个命令要在你的环境变量脚本那里执行才可以,之后再用OpenStack命令去创建别的操作就没问题了。

  • 在keystone上创建服务和注册api
      在终端中复制粘贴下面的命令:
openstack service create --name glance \
  --description "OpenStack Image" image
openstack endpoint create --region RegionOne \
  image public http://controller:9292
openstack endpoint create --region RegionOne \
  image internal http://controller:9292
openstack endpoint create --region RegionOne \
  image admin http://controller:9292

  每一条执行完之后输出的东西基本和刚才的创建用户是一样的,必须给返回东西才算对

  • 安装服务相应软件包
      现在是安装镜像的相应软件包
yum install openstack-glance -y
  • 修改配置文件
      有两个配置文件,先修改glance-api.conf:
cp /etc/glance/glance-api.conf{,.bak}
grep '^[a-Z\[]' /etc/glance/glance-api.conf.bak >/etc/glance/glance-api.conf
openstack-config --set /etc/glance/glance-api.conf  database  connection  mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
openstack-config --set /etc/glance/glance-api.conf  glance_store stores  file,http
openstack-config --set /etc/glance/glance-api.conf  glance_store default_store  file
openstack-config --set /etc/glance/glance-api.conf  glance_store filesystem_store_datadir  /var/lib/glance/images/
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken auth_uri  http://controller:5000
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken auth_url  http://controller:35357
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken memcached_servers  controller:11211
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken auth_type  password
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken project_domain_name  default
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken user_domain_name  default
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken project_name  service
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken username  glance
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken password  GLANCE_PASS
openstack-config --set /etc/glance/glance-api.conf  paste_deploy flavor  keystone

  上面的命令在你安装完OpenStack的镜像软件包之后直接复制粘贴,最后md5值如下:
psbc.png
  要跟我一样哦,下来修改第二个配置文件

cp /etc/glance/glance-registry.conf{,.bak}
grep '^[a-Z\[]' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf
openstack-config --set /etc/glance/glance-registry.conf  database  connection  mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken auth_uri  http://controller:5000
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken auth_url  http://controller:35357
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken memcached_servers  controller:11211
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken auth_type  password
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken project_domain_name  default
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken user_domain_name  default
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken project_name  service
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken username  glance
openstack-config --set /etc/glance/glance-registry.conf  keystone_authtoken password  GLANCE_PASS
openstack-config --set /etc/glance/glance-registry.conf  paste_deploy flavor  keystone

  这里修改的是glance-registry.conf,修改完之后md5值为:
pVil.png
  现在说一下配置了一大堆写了啥,第一行是连接的数据库,中间的一大段都是keystone认证,配置了用户名是glance密码是GLANCE_PASS,最后的flavor就是认证方案,选择的是keystone, /var/lib/glance/images/就是镜像的存储位置。

  • 同步数据库
      终端中输入:
su -s /bin/sh -c "glance-manage db_sync" glance

  这个输入完之后会报警告信息:
pWxH.png
  不用担心,官方文档让我们忽略这里的警告信息。检查方法,终端中输入:

mysql glance -e "show tables;"

  之后会有很多的表,如果没有那就说明你的数据库同步有问题。

  • 启动服务
      终端输入启动命令,并设置为开机自启动:
systemctl enable openstack-glance-api.service \
  openstack-glance-registry.service
systemctl start openstack-glance-api.service \
  openstack-glance-registry.service

  输入命令查看端口有没有9191和9292:

netstat -luntp

上传镜像

  现在上传一个小的Linux镜像上去看看,点我下载

rz 
openstack image create "cirros" \
  --file cirros-0.3.4-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

  这里cirros就是镜像名,然后格式是qcow2,什么是镜像格式,public是让所有人都看
  pbfY.png
  上传成功如上图。查看系统中有几个镜像:

openstack image list

  本文中只要输入上面的命令返回了一个镜像名为“cirros”的镜像就证明安装完成了。

最后修改:2020 年 06 月 18 日 03 : 26 PM
请俺喝杯咖啡呗