一、介绍

  参照官网部署:https://docs.openstack.org/glance/queens/install/

  继续上一博客进行部署:http://www.cnblogs.com/weijie0717/p/8556939.html

二、部署 Glance

  1、配置数据库  (任意controller 节点操作)

    # mysql  -uroot -p

      mysql> CREATE DATABASE glance; 

      mysql>  GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'   IDENTIFIED BY 'GLANCE_DBPASS';

      mysql>  GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY 'GLANCE_DBPASS';

  2、配置glance 用户和 API 信息 (任意controller 节点操作)

    a、获取管理员认证权限

      #  source admin-openrc

    b、创建用户

      #  openstack user create --domain default --password-prompt glance   (新用户需要配置密码)

      

    c、分配 Glance到 指定project 和 role

      #  openstack role add --project service --user glance admin

    d、创建 openstack Glance 服务

      #   openstack service create --name glance --description "OpenStack Image" image

      

    e、创建 GLance API (admin,public,internal)

      #   openstack endpoint create --region RegionOne image public http://controller:9292         #(controller为 Glance-haproxy-vip)

        

      #   openstack endpoint create --region RegionOne image internal http://controller:9292       #(controller为 Glance-haproxy-vip)

        

      #   openstack endpoint create --region RegionOne image admin http://controller:9292       #(controller为 Glance-haproxy-vip)

        

  3、 Glance 包安装 (所有controller-node

      #   yum install -y openstack-glance

  4、编辑配置文件 (所有controller-node)

      a、编辑   /etc/glance/glance-api.conf 文件  # 标红区域为需要特别关注的地方  

        # vim  /etc/glance/glance-api.conf  

  1. [DEFAULT] # 集群中此配置文件唯一不一样的区域,为避免后期 HAproxy 端口冲突
  2. bind_host = 网卡IP
  3. bind_port = 9292
  4.  
  5. [database]
  6. # ...
  7. connection = mysql+pymysql://glance:GLANCE_PASS@controller/glance
  8.  
  9. [keystone_authtoken]
  10. # ...
  11. auth_uri = http://controller:5000
  12. auth_url = http://controller:35357
  13. memcached_servers = controller1:11211,controller2:11211,controller3:11211
  14. auth_type = password
  15. project_domain_name = default
  16. user_domain_name = default
  17. project_name = service
  18. username = glance
  19. password = GLANCE_PASS
  20.  
  21. [paste_deploy]
  22. # ...
  23. flavor = keystone
  24.  
  25. [glance_store] # 以下为Glance 本地存储配置
  26. # ...
  27. stores = file,http
  28. default_store = file
  29. filesystem_store_datadir = /var/lib/glance/images/

        如下图:

        

      b、编辑   /etc/glance/glance-registry.conf 文件   # 标红区域为需要特别关注的地方

        # vim /etc/glance/glance-registry.conf            

  1. [DEFAULT] # 整个集群文件中唯一不同的区域
  2. # ...
  3. bind_host = 网卡ip
  4. bind_port = 9191
  5.  
  6. [database]
  7. connection = mysql+pymysql://glance:GLANCE_PASS@controller/glance
  8.  
  9. [keystone_authtoken]
  10. # ...
  11. auth_uri = http://controller:5000
  12. auth_url = http://controller:35357
  13. memcached_servers = controller1:11211,controller2:11211,controller3:11211
  14. auth_type = password
  15. project_domain_name = default
  16. user_domain_name = default
  17. project_name = service
  18. username = glance
  19. password = GLANCE_PASS
  20.  
  21. [paste_deploy]
  22. # ...
  23. flavor = keystone

  5、初始化 Glance 数据库  (任意controller 节点操作)

    # su -s /bin/sh -c "glance-manage db_sync" glance 

    # (忽略此处输出所有信息)

  6、启动服务并设置开机自启动 (all-controller-node)

    # systemctl enable openstack-glance-api.service openstack-glance-registry.service

    # systemctl start openstack-glance-api.service openstack-glance-registry.service  

    # 查看端口,如下:服务启动正常

    

  7、配置 Glance-Haproxy

    博客:http://www.cnblogs.com/weijie0717/p/8530102.html

    注:必须保证 单controller -node 认证 Glance 和 Keystone 时访问的是同一个节点,否则为认证失败。

三、测试  (任意 controller-node)

  1、下载镜像

    # cd /root

    # wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

  2、上传镜像到Image server

    # openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

    

  3、查看

    1、查看镜像上传情况    

      # openstack image list

      

      上传成功

    2、查看openstack集群 当前支持服务

      # openstack service list

      

到此处,openstack集群 Glance-server 使用本地存储 部署成功。

续: openstack集群 Glance-server 使用Ceph 存储。

  1、删除之前上传的本地镜像。(任意 controller-node)

    a、查看镜像ID

      # openstack image list

      

    b、删除镜像 

      # openstack image delete image-ID

      

  2、拷贝ceph集群配置文件到所有controller 节点  /etc/ceph/ceph.conf   (ceph 集群 任意节点)

    # scp   /etc/ceph/ceph.conf root@controller1:/etc/ceph/ceph.conf

    # scp   /etc/ceph/ceph.conf root@controller2:/etc/ceph/ceph.conf

    # scp   /etc/ceph/ceph.conf root@controller3:/etc/ceph/ceph.conf

  3、创建 Glance 所需要的ceph 存储池:images  (任意ceph-mon 节点 )

    # ceph osd pool create images 64 64

  4、生成和导出证书到 controller节点  (任意ceph-mon 节点 )

    a、生成key

      #   ceph auth get-or-create client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images'

    b、查看

      #   ceph auth list

      

    c、导出 key,并拷贝至所有controller 节点 /etc/ceph/文件中

      # ceph auth get-or-create client.glance | tee /etc/ceph/ceph.client.glance.keyring

      # scp /etc/ceph/ceph.client.glance.keyring root@controller-all:/etc/ceph/ceph.client.glance.keyring

    d、修改ceph.conf 和 key 文件 权限 (所有controller节点操作)

      #   chown glance:glance /etc/ceph/ceph.client.glance.keyring

      #  chown glance:glance /etc/ceph/ceph.conf

      

  5、安装 rbd 驱动包  (all-controller-node)

    #   yum install python-rbd -y

  6、修改 glance-api 配置文件  (all-controller-node)

    a、备份配置,便于恢复

      #   cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak

    b、修改配置文件

      # vim /etc/glance/glance-api.conf

  1. [DEFAULT]
  2. show_image_direct_url = True #启动镜像的写时复制功能
  3.  
  4. [glance_store]
  5. stores = rbd
  6. default_store = rbd
  7. #filesystem_store_datadir = /var/lib/glance/images/ #注释此行,本地存储配置行
  8. rbd_store_chunk_size = 8
  9. rbd_store_pool = images
  10. rbd_store_user = glance
  11. rbd_store_ceph_conf = /etc/ceph/ceph.conf

  7、重启服务  (all-controller-node)

    #  systemctl restart openstack-glance-api.service openstack-glance-registry.service

  8、上传镜像进行测试。(任意 controller-node)

    a、获取认证权限

      #  source admin-openrc 

    b、下载镜像

      #   wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img

    c、上传镜像

      #  openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public

      

    d、查看镜像上传情况

      #openstack image list

      

  9、ceph 查看镜像上传情况和处理告警

    a、镜像已上传至ceph,ceph会有告警

    

    b、告警信息查看

      

      

    c、按照提示处理告警

      # ceph osd pool application enable images rbd

      

Openstack Glance server 到此处部署完毕。

openstack(Pike 版)集群部署(三)--- Glance 部署的更多相关文章

  1. openstack高可用集群16-ceph介绍和部署

    Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...

  2. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  3. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  4. CentOS7.2非HA分布式部署Openstack Pike版 (实验)

    部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...

  5. VLAN 模式下的 OpenStack 管理 vSphere 集群方案

    本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...

  6. Kubernetes容器集群管理环境 - 完整部署(上篇)

    Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes ...

  7. Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...

  8. [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署

    k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...

  9. 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s

    实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...

  10. openstack高可用集群17-openstack集成Ceph准备

    Openstack集成Ceph准备 Openstack环境中,数据存储可分为临时性存储与永久性存储. 临时性存储:主要由本地文件系统提供,并主要用于nova虚拟机的本地系统与临时数据盘,以及存储gla ...

随机推荐

  1. 天天向上的力量 III(python在pycharm实现)

    '''描述一年365天,以第1天的能力值为基数,记为1.0.当好好学习时,能力值相比前一天提高N‰:当没有学习时,能力值相比前一天下降N‰.每天努力或放任,一年下来的能力值相差多少呢?其中,N的取值范 ...

  2. python setattr

    #object生成的对象不能使用setattr函数>>> o=object() >>> setattr(o,'name','ok') Traceback (most ...

  3. 阿里巴巴开源项目: canal

    参考:https://www.cnblogs.com/duanxz/p/5062833.html docker 部署canal :  https://blog.csdn.net/u013705066/ ...

  4. leetcode212

    class Solution { public List<String> findWords(char[][] board, String[] words) { List<Strin ...

  5. [记录] CSS 多行文本超出部分省略

    如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览 <p style="width: 30 ...

  6. QtCreator中F1帮助不能使用的解决方法

    环境:ubuntu11.04 在Qt中按F1跳转帮助是一个很方便的东东,点击左边的Help图标也是一样的功能.我今天遇到的问题是F1跳转出错,找不到文档: “No documentation avai ...

  7. J2SE 8的流库 --- 基本类型流的使用

    展现流的方法 public static <T> void show(String title, Stream<T> stream){ System.out.println(& ...

  8. JSP页面java代码报错:Purgoods cannot be resolved to a type

    错误提示 : Purgoods cannot be resolved to a type Purgoods不能解析为一个类型 原因 : 缺少引入Purgoods类 页面中引入java类,执行java代 ...

  9. Packets 1037A(二进制数)

    分析:看这个数有多少位二进制数 #include<cstdio> int main() { int n; while(~scanf("%d",&n)) { ; ...

  10. Unable to connect to zookeeper server within timeout: 5000

    错误 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error crea ...