23
2024
05
19:12:16

openstack云计算平台 1(认证服务、镜像服务)

一、openstack云计算平台

1.openstack简介

  • OpenStack是一个云操作系统,它控制整个数据中心的计算、存储和网络资源的大型池,所有这些都通过具有通用身份验证机制的api进行管理和配置。还提供了一个仪表板,允许管理员控制,同时允许用户通过web界面提供资源。除了标准的基础设施即服务功能外,其他组件还提供编排、故障管理和服务管理等服务,以确保用户应用程序的高可用性。

  • OpenStack 架构由大量开源项目组成。其中包含 6 个稳定可靠的核心服务,用于处理计算、网络、存储、身份和镜像; 同时,还为用户提供了十多种开发成熟度各异的可选服务。OpenStack 的 6 个核心服务主要担纲系统的基础架构,其余项目则负责管理控制面板、编排、裸机部署、信息传递、容器及统筹管理等操作。

  • 整个OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成。
    openstack重要集成组件:
    1、Nova - 计算服务,是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
    2、Neutron-网络服务,是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
    3、Swift - 对象存储服务, 是一种高度容错的对象存储服务,使用 RESTful API 来存储和检索非结构数据对象。
    4、Cinder-块存储服务,通过自助服务 API 访问持久块存储。
    5、Glance - 镜像服务,Glance 可存储和检索多个位置的虚拟机磁盘镜像。
    6、dashboard - web管理界面。
    7、Keystone - 认证服务,认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
    8、Horizon - UI服务。
    9、Ceilometer-监控服务。
    10、Heat-集群服务,编排。

2.openstack的架构

  • 基本架构
    请添加图片描述
    激活eth1网卡,除此之外,记得做所有节点的域名解析/etc/hosts
    请添加图片描述
    保证宿主机与阿里云服务器时间同步
    请添加图片描述
    允许以下网段的NTP客户端访问(也就是允许该网段的主机通过宿主机同步时间)
    请添加图片描述
    真机可以上网
    请添加图片描述
    修改/etc/chrony.conf配置
    请添加图片描述
    设定server5与宿主机同步时间
    请添加图片描述
    启动并自启chrony服务
    请添加图片描述
    查看是否成功
    请添加图片描述
    server5配置仓库文件
    请添加图片描述
    安装 OpenStack 客户端
    请添加图片描述
    整个openstack 的数据都会持久化保存到 SQL 数据库中,此处使用mariadb 数据库;
    安装软件
    请添加图片描述
    之后,创建并编辑 /etc/my.cnf.d/openstack.cnf,然后在 [mysqld] 部分,设置 bind-address值为控制节点的管理网络IP地址,以使得其它节点可以通过管理网络访问数据库;
    设置如下键值来启用一起有用的选项和 UTF-8 字符集;
    启动数据库服务,并将其配置为开机自启。
    请添加图片描述
    启动消息队列服务并将其配置为随系统启动:
    请添加图片描述
    添加 openstack 用户,密码也设为openstack(用户名和密码保持一致,便于记忆),前面是用户,后面为密码;
    openstack用户配置写和读权限
    请添加图片描述
    查看rabbitmq的插件
    请添加图片描述
    修改域名解析文件;
    server5为控制节点,server6为计算节点,server7为块存储节点
    请添加图片描述
    生成一个随机值在初始的配置中作为管理员的令牌;
    编辑文件 /etc/keystone/keystone.conf
    请添加图片描述
    [DEFAULT]部分,定义初始管理令牌的值
    请添加图片描述
    [database]部分,配置数据库访问;
    数据库驱动为mysql,使用pymysql(python开发的),使用keystone用户、keystone密码来连接controller节点,访问keystone数据库
    请添加图片描述
    [token]部分,配置Fernet UUID令牌的提供者
    请添加图片描述
    登陆数据库,可以看到数据已经同步到了数据库中
    请添加图片描述
    激活两个端口:5000(用于公共连接),35357(用于admin管理员连接)

    Listen 5000Listen 35357<VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined    <Directory /usr/bin>
            Require all granted    </Directory></VirtualHost><VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/httpd/keystone-error.log
        CustomLog /var/log/httpd/keystone-access.log combined    <Directory /usr/bin>
            Require all granted    </Directory></VirtualHost>

    请添加图片描述
    创建服务实体和身份认证服务
    请添加图片描述
    添加admin 角色到 admin 项目和用户上,使得admin用户能够以admin管理员角色管理admin项目
    在这里插入图片描述

    4.验证操作

    因为安全性的原因,关闭临时认证令牌机制(此时已经有两个用户–admin和demo);
    作为 admin 用户,请求认证令牌
    请添加图片描述

    5.创建 OpenStack 客户端环境脚本

    之前使用环境变量和命令选项的组合通过openstack客户端与身份认证服务交互。为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件。这些脚本通常包含客户端所有常见的选项,当然也支持独特的选项。

    创建 admin 和 demo 项目和用户创建客户端环境变量脚本。接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证;
    编辑文件 admin-openrc 并添加如下内容:
    请添加图片描述
    编辑文件 /etc/glance/glance-api.conf
    请添加图片描述
    搜索database
    请添加图片描述
    在 [database] 部分,配置数据库访问
    请添加图片描述
    在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问
    请添加图片描述
    在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置
    请添加图片描述
    编辑文件 /etc/glance/glance-registry.conf
    请添加图片描述
    在 [database] 部分,配置数据库访问
    请添加图片描述
    在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问
    请添加图片描述
    写入镜像服务数据库(同步数据库);
    可以忽略输出中任何不推荐使用的信息
    请添加图片描述
    使用 QCOW2 磁盘格式,bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
    在这里插入图片描述
    请添加图片描述




    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

    本文链接:https://hqyman.cn/post/6311.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

    分享到:
    打赏





    休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: