云计算实训(实验3、实验4)

继上篇云计算实训(实验1、实验2)

实验3 控制节点安装Keystone认证服务

实验目的:掌握搭建 Openstack Keystone 组件、熟练掌握 Linux 常用命令。

实验步骤:

1、使用root用户登录控制节点(Controller)。输出Hostname,确认所在节点是控制节点。

2、输入‘mysql -u root -p’,连接MariaDB,进入数据库命令行,输入密码123456。

3、输入‘CREATE DATABASE keystone;’,创建一个名为keystone的库。

4、输入如图所示语句,创建名为keystone,密码为KEYSTONE_DBPASS 的数据库用户,并授权访问 keystone 库。

5、输入‘use keystone;和show tables;’,查看keystone库,此时库中没有任何表(Table)。

6、输入‘exit;’,退出数据库命令行。

7、分别输入‘dnf install /opt/repo/openstack-yoga/python3-sqlalchemy-1.4.31-1.el8.x86_64.rpm -y’和‘dnf install openstack-keystone httpd python3-mod_wsgi -y’语句,安装Keystone相关软件包。

8、输入‘cp -n /etc/keystone/keystone.conf{,.bak}’命令,备份Keystone的配置文件keystone.conf 为 keystone.conf.bak。

9、输入‘grep -Ev '^$|#' /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf’,清除 Keystone 配置文件的注释。

10、输入‘dnf install openstack-utils -y’,安装openstack-utils。

11、输入以下代码,配置Keystone的admin_token,数据库连接,token provider。

openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token  ADMIN_TOKEN
openstack-config --set /etc/keystone/keystone.conf database connection  mysql+pymysql://keystone:KEYSTONE_DBPASS@controller202/keystone
openstack-config --set /etc/keystone/keystone.conf token provider  fernet

12、输入‘cd /etc/keystone/和su -s /bin/sh -c "keystone-manage db_sync" keystone’,执行同步数据库。

13、再次连接MariaDB,可以查看到keystone库中存在表,并记录到报告。

mysql -u root -p
use keystone;
show tables;
exit;

14、输入以下命令,初始化fernet。

cd /etc/keystone/
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

15、输入以下命令,创建keystone认证服务(Identify Service),和API端点(endpoint)。

keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  --bootstrap-admin-url http://controller202:5000/v3/ \
  --bootstrap-internal-url http://controller202:5000/v3/ \
  --bootstrap-public-url http://controller202:5000/v3/ \
  --bootstrap-region-id RegionOne

16、输入语句‘echo "ServerName controller202" >>/etc/httpd/conf/httpd.conf’,追加Apache (httpd)的配置。这里主要是增加ServerName的配置。

17、输入命令‘ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/’,把keystone的配置链接到httpd的配置目录下,让keystone API 生效。

18、输入‘systemctl enable httpd.service和systemctl start httpd.service’,启动Apache(httpd),并设置为开机启动。

19、输入‘systemctl status httpd.service’,查看服务的状态是否为active。

20、输入以下命令语句,设置Keystone的相关环境变量。

export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller202:5000/v3
export OS_IDENTITY_API_VERSION=3

21、输入‘openstack user list’,查询刚创建的用户的ID。

22、复制上文的用户ID,关联项目admin,用户admin,角色admin。

需输入以下语句:openstack role add --project admin --user 替换为用户ID admin

23、使用语句‘unset OS_AUTH_URL’和‘unset OS_PASSWORD’,移除上面步骤19设置的部分环境变量。

24、输入‘vim /etc/keystone/admin-openrc’,创建一个设置环境变量的脚本,输入内容,测试keystone能否正常运行。

25、输入‘source /etc/keystone/admin-openrc’,执行脚本,设置环境变量。

26、输入‘openstack token issue’,查看token,多运行几次,查看token id是否更新。

27、输入以下命令清除环境变量,使用openstack命令验证是否能够获取Token。

unset OS_PROJECT_DOMAIN_NAME
unset OS_USER_DOMAIN_NAME
unset OS_PROJECT_NAME
unset OS_USERNAME
unset OS_PASSWORD
unset OS_AUTH_URL
unset OS_IDENTITY_API_VERSION
unset OS_IMAGE_API_VERSION
 
openstack --os-auth-url http://controller202:5000/v3 \
  --os-project-domain-name default --os-user-domain-name default \
  --os-project-name admin --os-username admin --os-auth-type password \
  --os-password ADMIN_PASS token issue

28、输入以下语句,把常用OpenStack环境变量写入每次登录自动执行脚本。

echo  '#!/usr/bin/env bash
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller202:5000/v3
export OS_IDENTITY_API_VERSION=3'>>/etc/profile.d/admin-openrc.sh

29、输入以下命令,查询keystone identity service。

source /etc/keystone/admin-openrc
openstack service list |grep -E "ID|keystone"

30、输入以下命令,查询keystone endpoint。

source /etc/keystone/admin-openrc
openstack endpoint list |grep -E "ID|keystone"

31、输入‘opst-proc-show.sh’,在控制节点上查看OpenStack相关服务是否是active的状态。

实验4 控制节点安装Glance镜像服务

实验目的:掌握搭建 Openstack Glance 组件。

实验步骤:

1、使用root用户登录控制节点(Controller)。输出Hostname,确认所在节点是控制节点。

2、输入以下语句,使用root用户登录MariaDB数据库,密码为123456。创建Glance库,glance用户和授权。

mysql -u root -p
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';
exit;

3、输入以下命令,在Keystone创建Glance用户及关联角色。

source /etc/keystone/admin-openrc
openstack user create --domain default --password GLANCE_PASS glance
openstack project create --domain default --description "Service Project" service
openstack role add --project service --user glance admin
openstack user create --domain default --password MY_PASSWORD MY_SERVICE
openstack role add --user MY_SERVICE --user-domain Default --system all reader

4、输入以下命令语句,在Keystone上创建Glance Service和endpont。

openstack service create --name glance \
  --description "OpenStack Image" image
openstack endpoint create --region RegionOne \
  image public http://controller202:9292
openstack endpoint create --region RegionOne \
  image internal http://controller202:9292
openstack endpoint create --region RegionOne \
  image admin http://controller202:9292

5、输入‘dnf install openstack-glance -y’,安装服务相应Glance软件包。

6、输入‘cp /etc/glance/glance-api.conf{,.bak}’,备份Glance API配置文件。

7、输入以下命令,清除配置文件注释。

grep '^[a-Z\[]' /etc/glance/glance-api.conf.bak >/etc/glance/glance-api.conf

8、输入以下命令语句,设置API配置项。

openstack-config --set /etc/glance/glance-api.conf  database  connection  mysql+pymysql://glance:GLANCE_DBPASS@controller202/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_url  http://controller202:5000
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken www_authenticate_uri http://controller202:5000
openstack-config --set /etc/glance/glance-api.conf  keystone_authtoken memcached_servers  controller202: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-config --set /etc/glance/glance-api.conf  DEFAULT use_keystone_quotas True
openstack-config --set /etc/glance/glance-api.conf  oslo_limit auth_url  http://controller202:5000
openstack-config --set /etc/glance/glance-api.conf  oslo_limit auth_type  password
openstack-config --set /etc/glance/glance-api.conf  oslo_limit user_domain_id  default
openstack-config --set /etc/glance/glance-api.conf  oslo_limit username  MY_SERVICE
openstack-config --set /etc/glance/glance-api.conf  oslo_limit system_scope  all
openstack-config --set /etc/glance/glance-api.conf  oslo_limit password  MY_PASSWORD
openstack-config --set /etc/glance/glance-api.conf  oslo_limit endpoint_id  ENDPOINT_ID
openstack-config --set /etc/glance/glance-api.conf  oslo_limit region_name  RegionOne

9、输入‘cd /etc/glance’和‘su -s /bin/sh -c "glance-manage db_sync" glance’命令语句,同步glance数据库。

10.输入以下命令,进入MariaDB查看是否有表格出现。密码为GLANCE_DBPASS。出现表则为成功。

mysql -u glance -p
use glance;
show tables;

11、输入exit;,退出MariaDB。

12、输入‘systemctl enable openstack-glance-api’和‘systemctl start openstack-glance-api’命令语句,启动Glance服务。

13、输入‘systemctl status openstack-glance-api’,查看Glance服务是否active。

14、上传镜像文件cirros-0.4.0-x86_64-disk.img和cirros-0.6.2-x86_64-disk.img到/opt目录。

15、输入以下语句,使用上传的镜像文件,创建一个名为cirros,磁盘格式为qcow2的镜像。

source /etc/keystone/admin-openrc
openstack image create "cirros4" \
  --file /opt/cirros-0.4.0-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public
openstack image create "cirros62" \
  --file /opt/cirros-0.6.2-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public

16、输入‘source /etc/keystone/admin-openrc’和‘openstack service list |grep -E "ID|glance"’命令语句,查询glance service。

17.输入‘source /etc/keystone/admin-openrc’和‘openstack endpoint list |grep -E "ID|glance"’命令语句,查询glance endpoint。

18、输入‘source /etc/keystone/admin-openrc’和‘openstack user list |grep -E "ID|glance"’命令语句,查询glance user。

19、输入以下命令,进入数据库查询Glance库,查看images表的镜像信息是否和上面结果一致。

mysql -u glance -p
MariaDB [(none)]>use glance;
MariaDB [glance]> select name,status,disk_format,created_at from images;

20、使用openstack客户端命令‘source /etc/keystone/admin-openrc’和‘openstack image list’查询镜像信息。

21、输入‘opst-proc-show.sh’命令,查看OpenStack相关服务是否是active的状态。

实验3和实验4可能出现的问题:

在实验4,使用手册所给的openstack客户端命令语句无法进行查询镜像信息,是因为版本不同的原因。解决方法:通过修改手册中原先所给的命令,成功执行了。(原命令语句为source /etc/keystone/admin-openrc 和openstack image list --property name=cirros 将第二条语句修改为openstack image list --property)

  • 19
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值