openstack(Pike 版)集群部署(三)--- Glance 部署
一、介绍
参照官网部署: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
[DEFAULT] # 集群中此配置文件唯一不一样的区域,为避免后期 HAproxy 端口冲突
bind_host = 网卡IP
bind_port = 9292 [database]
# ...
connection = mysql+pymysql://glance:GLANCE_PASS@controller/glance [keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller1:11211,controller2:11211,controller3:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS [paste_deploy]
# ...
flavor = keystone [glance_store] # 以下为Glance 本地存储配置
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
如下图:
b、编辑 /etc/glance/glance-registry.conf 文件 # 标红区域为需要特别关注的地方
# vim /etc/glance/glance-registry.conf
[DEFAULT] # 整个集群文件中唯一不同的区域
# ...
bind_host = 网卡ip
bind_port = 9191 [database]
connection = mysql+pymysql://glance:GLANCE_PASS@controller/glance [keystone_authtoken]
# ...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller1:11211,controller2:11211,controller3:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = glance
password = GLANCE_PASS [paste_deploy]
# ...
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
[DEFAULT]
show_image_direct_url = True #启动镜像的写时复制功能 [glance_store]
stores = rbd
default_store = rbd
#filesystem_store_datadir = /var/lib/glance/images/ #注释此行,本地存储配置行
rbd_store_chunk_size = 8
rbd_store_pool = images
rbd_store_user = glance
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 部署的更多相关文章
- openstack高可用集群16-ceph介绍和部署
Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- openstack高可用集群21-生产环境高可用openstack集群部署记录
第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群 部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- VLAN 模式下的 OpenStack 管理 vSphere 集群方案
本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...
- Kubernetes容器集群管理环境 - 完整部署(上篇)
Kubernetes(通常称为"K8S")是Google开源的容器集群管理系统.其设计目标是在主机集群之间提供一个能够自动化部署.可拓展.应用容器可运营的平台.Kubernetes ...
- Kubeadm 1.9 HA 高可用集群本地离线镜像部署【已验证】
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,易宝支付,北森等等. kubernetes1.9版本发布2017年12月15日,每三个月一个迭代 ...
- [K8s 1.9实践]Kubeadm 1.9 HA 高可用 集群 本地离线镜像部署
k8s介绍 k8s 发展速度很快,目前很多大的公司容器集群都基于该项目,如京东,腾讯,滴滴,瓜子二手车,北森等等. kubernetes1.9版本发布2017年12月15日,每是那三个月一个迭代, W ...
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
- openstack高可用集群17-openstack集成Ceph准备
Openstack集成Ceph准备 Openstack环境中,数据存储可分为临时性存储与永久性存储. 临时性存储:主要由本地文件系统提供,并主要用于nova虚拟机的本地系统与临时数据盘,以及存储gla ...
随机推荐
- Android Studio 3.0 新特性
最新Android Studio版本是Android Studio 3.0,本文提供了所有新功能和更改的摘要. 所有这些功能都可以在最新的金丝雀版本中发布,但beta测试版本可能尚未提供. 核心IDE ...
- sonar自定义规则
Sonar并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方 ...
- jinjia
https://www.cnblogs.com/dachenzi/p/8242713.html
- git-搭建企业git服务器
1.安装 yum install git 2.增加用户 useradd git -d /home/git -g git 3.查看公钥鉴权文件是否存在 cat /home/git/.ssh/autho ...
- vue:绑定数据的vue页面加载会闪烁问题
1:在挂在数据的容器加上属性 v-cloak 2:在css中添加如下代码 但有时候还是会不起作用,可能原因有两个 2.1:display属性被更高权限的display属性覆盖了,我们增加权限就好了 2 ...
- Lazarus的DBGrid中回车键的处理
Lazarus的DBGrid中回车键默认行为是向下移动一个记录,如果想对这一事件做处理,请不要在onkeypress里处理,而在onkeydown事件里处理.
- Java中Asm包有什么用?
ASM能做什么 我们都知道,一般情况下,Class文件是通过javac编译器产生的,然后通过类加载器加载到虚拟机内,再通过执行引擎去执行. 现在我们可以通过ASM的API直接生成符合Java虚拟机规范 ...
- Linux:简单的并发服务器实现
我前两天实现了一个简单的服务器和一个对应的客户端,也简单的解决了一些错误检查和常用的函数的封装,但是那个服务器的一次只能连接一个客户端,鸡肋,太鸡肋了,今天我来实现可以连接多个客户端的服务器实例:多进 ...
- Eclipse优化常用方法
Eclipse优化常用方法如下: 1.减少不必要的验证 将Manual保持不动,build里面只留下classpath dependency Validator,其他的全部去掉.如果以后需要对文件进行 ...
- [重点]delphi 实现 根据给定的标题去《中国青年报》网上电子报数据中查找匹配的内容,并从该内容中取出引题、正题、副题、作者和正文。
项目要求:根据给定的标题去<中国青年报>网上电子报数据中查找匹配的内容,并从该内容中取出引题.正题.作者和正文. unit Unit1; interface uses Winapi.Win ...