⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计9277字,阅读大概需要20分钟
🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿
⏰个人网站:https://jerry-jy.co/

❗❗❗知识付费,🈲止白嫖,有需要请后台私信或【文末】个人微信公众号联系我

Openstack安装与配置第二部分(keystone篇)


任务背景

OpenStack是一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人将 OpenStack作为基础设施即服务资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用 OpenStack前端来设置及管理自己的公共云或私有云。
OpenStack是由 Rackspace和NASA共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务( Infrastructure as a Service)。 OpenStack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;后者是 Backpack开发的分布式云存储模块,两者可以一起用,也可以分开单独用。 OpenStack是开源项目,除了有 Rackspace和NASA的大力支持外,后面还有包括Dell、 Citrix、 Cisco Canonical这些重量级公司的贡献和支持,发展速度非常快,有取代另一个业界领先开源云台 Eucalyptus的态势。
OpenStack的各个服务之间通过统一的REST风格的API调用,实现系统的松耦合。它内部组件的工作过程是一个有序的整体。诸如计算资源分配、控制调度、网络通信等都通过AMQP实现。 OpenStack的上层用户是程序员、一般用户和 Horizon界面等模块。这三者都是采用 OpenStack各个组件提供的API接口进行交互,而它们之间则是通过AMQP进行互相调用,它们共同利用底层的虚拟资源为上层用户和程序提供云计算服务。

任务需求

在Linux操作系统上进行OpenStack的keystone安装部署

任务步骤

1.安装和配置

  1. 创建一个数据库和管理员令牌
  2. 安全并配置组件
  3. 配置 Apache HTTP 服务器

2.创建服务实体和API端点

  1. 创建域、项目、用户和角色
  2. 创建 OpenStack 客户端环境脚本

任务结果

在这里插入图片描述

任务实施过程

  1. 安装openstack第二部分「Keystone、项目、用户、角色、环境脚本」

实验要求

  1. openstack安装为连续性实验,一共分为六个部分,且相互关联,每一个部分无法单独完成实验,因此实验结束后需保存实验内容供下个章节使用。

实验时间

  1. 完整六部分实验完成需要多个学时,请合理安排部署时间。

实验配置要求

  1. hostname
    控制节点hostname:controller
    计算节点hostname:compute
  2. IP地址
    控制节点
    ip:192.250.250.30 mask:255.255.255.0
    gateway:192.250.250.1 dns:218.203.59.116
    计算节点
    ip:192.250.250.31 mask:255.255.255.0
    gateway:192.250.250.1 dns:218.203.59.116
  3. 虚拟机配置
    控制节点:cpu:2core 内存:4GB 硬盘:100GB
    计算节点:cpu:2core 内存:4GB 硬盘:100GB

知识点

  1. 学会安装openstack第二部分内容

实验目的

  1. 掌握如何安装openstack

实验描述

  1. 本实验使用一个控制节点:controller、一个计算节点:compute来完成openstack在系统下的安装与配置

实验环境

  1. 已经完整安装的实验:openstack环境篇的控制节点虚拟机镜像,Vmware虚拟化平台,ssh登录工具。

实验步骤

1.使用ssh工具登录并启动上一个实验中部署的控制节点虚拟机。(本实验章节所有操作均在控制节点上执行)

  1. 使用Xshell工具连接控制节点(《openstack-环境篇》已经保存账号和密码,直接双击就可以登录,如果没有设置保存用户名密码,需要重新输入完成登录)。
    在这里插入图片描述

2.在控制节点安装openstack-keystone服务。

  1. 登录sql数据库创建keystone库
    登录数据库
mysql -uroot -p123456

使用实验手册《openstack第一部分(环境篇)》设置的mysql登录密码123456

在这里插入图片描述

创建keystone库

CREATE DATABASE keystone;

在这里插入图片描述

  1. 为keystone库授予权限并退出数据库

授予对keystone数据库适当的访问权限

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'keystone';

按需设置,本实验使用“keystone”

授予对keystone数据库适当的访问权限

GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'keystone';

创建keystone数据库密码,按需设置,本实验使用“keystone”
在这里插入图片描述

退出数据库

exit

在这里插入图片描述

  1. 安装keystone包并编辑keystone文件
yum install openstack-keystone httpd mod_wsgi -y

在这里插入图片描述
在这里插入图片描述

编辑keystone文件

vim /etc/keystone/keystone.conf

在这里插入图片描述

在[database]部分中,配置数据库访问

connection = mysql+pymysql://keystone:keystone@controller/keystone

使用keystone设置的数据库密码keystone
注释掉或删除[database]部分中的任何其他选项
在这里插入图片描述

在[token]部分中,配置Fernet令牌提供程序

[token]
provider = fernet

在这里插入图片描述

:wq保存文件

  1. 填充Identity服务数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone

在这里插入图片描述

  1. 初始化Fernet密钥存储库
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

在这里插入图片描述

  1. 引导身份服务
keystone-manage bootstrap --bootstrap-password admin \
  --bootstrap-admin-url http://controller:5000/v3/ \
  --bootstrap-internal-url http://controller:5000/v3/ \
  --bootstrap-public-url http://controller:5000/v3/ \
  --bootstrap-region-id RegionOne

创建keystone管理身份密码,按需设置,本实验使用“admin”
在这里插入图片描述

  1. 配置Apache HTTP服务器
    编辑httpd文件
vim /etc/httpd/conf/httpd.conf

在这里插入图片描述
配置ServerName引用控制节点

ServerName controller

在这里插入图片描述

  1. 创建wsgi-keystone.conf的软连接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

在这里插入图片描述

  1. 启动Apache HTTP服务并将其配置为在系统引导时启动
systemctl enable httpd.service
systemctl start httpd.service

在这里插入图片描述

  1. 临时配置管理帐户环境变量
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

使用keystone管理身份密码admin
在这里插入图片描述

3.创建域、项目、用户和角色

  1. 创建新域
openstack domain create --description "An Example Domain" example

在这里插入图片描述

  1. 创建service 项目
openstack project create --domain default \
  --description "Service Project" service

在这里插入图片描述

  1. 创建myproject项目
openstack project create --domain default \
  --description "Demo Project" myproject

在这里插入图片描述

  1. 创建myuser用户
openstack user create --domain default \
  --password-prompt myuser

在这里插入图片描述

User Password: myuser
Repeat User Password: myuser

创建myuser用户登录密码,按需设置,本实验使用“myuser”

  1. 创建myrole角色
openstack role create myrole

在这里插入图片描述

  1. 将myrole角色添加到myproject项目和myuser用户
openstack role add --project myproject --user myuser myrole

在这里插入图片描述

  1. 验证操作
    取消设置临时变量OS_AUTH_URLOS_PASSWORD
unset OS_AUTH_URL OS_PASSWORD

作为admin用户,请求身份验证令牌

openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name admin --os-username admin token issue

在这里插入图片描述

Password:admin

使用keystone管理身份密码admin

作为myuser用户,请求身份验证令牌

openstack --os-auth-url http://controller:5000/v3 \
  --os-project-domain-name Default --os-user-domain-name Default \
  --os-project-name myproject --os-username myuser token issue

在这里插入图片描述

Password:myuser

使用myuser用户密码myuser

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

  1. 创建脚本
    创建客户端环境的脚本admin和demo项目的用户,后续部分引用这些脚本来加载客户端的凭据。
    客户端环境脚本的路径不受限制。可以将脚本放在任何位置,但确保它们可以访问并位于适合部署的安全位置,因为它们包含敏感凭据。
    本实验将脚本放置在/root目录下

创建和编辑admin-openrc文件并添加以下内容

cd /root/
vim admin-openrc

在这里插入图片描述

添加以下条目

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

使用keystone管理身份密码admin
在这里插入图片描述

创建和编辑demo-openrc文件并添加以下内容

cd /root/
vim demo-openrc

在这里插入图片描述

添加以下条目

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=myuser
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

在这里插入图片描述

使用myuser用户密码myuser

  1. 验证操作,使用脚本
    要将客户端作为特定项目和用户运行,只需在运行它们之前加载关联的客户端环境脚本即可。
    例如:加载admin-openrc文件以使用admin项目和用户凭据填充环境变量
    使用admin脚本
. admin-openrc

在这里插入图片描述

请求身份验证令牌

openstack token issue

在这里插入图片描述

  1. 控制节点第二部分(keystone篇)已经配置完成,使用Vmware平台快照功能保存快照,并保留现在的配置等待下一章节实验使用。
    设置控制节点:右键单击“controller”,点击“快照”,点击“拍摄快照”
    在这里插入图片描述

  2. 编辑名称为“第二部分(keystone篇)”,点击“拍摄快照保存”
    在这里插入图片描述

–end–

说明

本实验(项目)/论文若有需要,请后台私信或【文末】个人微信公众号联系我

Logo

电影级数字人,免显卡端渲染SDK,十行代码即可调用,工业级demo免费开源下载!

更多推荐