为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即OpenRC 文件 创建 admin 和 ``demo``项目和用户创建客户端环境变量脚本,为客户端操作加载合适的的凭证。 [root@controller ~]# cat admin-openrc.sh #编辑文件 admin-openrc.sh 并添加如下内容 export OS_PROJECT_DOMAIN_ID=default OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 [root@controller ~]# cat demo-openrc.sh #编辑文件 demo-openrc.sh 并添加如下内容 export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export #加载admin-openrc.sh文件来身份认证服务的环境变量位置和admin项目和用户证书 [root@controller ~]# openstack token issue #请求认证令牌信息
1.OpenRC需要准备的镜像 访问OpenRC下载地址,下载minimal镜像: 以及同目录下的OpenRC Stage3镜像: 可选步骤,这里只要清楚需要哪几个镜像即可,Stage3不用下载到本地。 2.SystemD需要准备的镜像 访问SystemD下载地址,SystemD作为init系统时,Stage3镜像则为: minimal镜像还是没有变: 3.OpenRC和SystemD的优势对比 1)OpenRC 优势 具有更低的内存占用,对于低端服务器和资源受限系统来说,OpenRC是一个不错的选择; 易于管理和维护,因为它是一个脚本系统,可以轻松通过修改脚本来配置系统; 配置文件容易理解,OpenRC使用普通的 ,目前在各大Linux发行版基本都能见到,绝大部分默认都是以SystemD作为init系统,启动速度比OpenRC快很多,启动方式为systemctl [Option] [Unit]: OpenRC是Gentoo 因为我们使用最小化安装,这里默认就行,系统已经帮我们选好,如果是OpenRC Stage3包则默认会选OpenRC的profile(序列号1)。
/bin/bash source /etc/xiandian/openrc.sh source /etc/keystone/admin-openrc.sh #提示用户输入要导出的数据库 echo " /bin/bash source /etc/xiandian/openrc.sh source /etc/keystone/admin-openrc.sh #创建备份目录 bk=/opt/keystone /bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file /bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #读取脚本后面的参数名 $0是脚本本身名字 file /bin/bash source /etc/keystone/admin-openrc.sh source /etc/xiandian/openrc.sh #接收跟在脚本后面的两个值 name=$1 pass
----------------------------------+ (5)创建环境脚本,命令如下 ①创建admin用户环境脚本 [root@controller ~]# vim admin-openrc [root@controller ~]# cat demo-openrc export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME [root@controller ~]# chmod +x demo-openrc (6)验证管理员admin环境脚本 ①执行管理员admin的环境脚本 [root@controller ~] /admin-openrc ②给予脚本中的环境变量,直接请求令牌 [root@controller ~]# openstack token issue Missing value auth-url required for auth plugin password 解决办法: 在admin-openrc目录下执行 [root@controller ~]# source admin-openrc
(HTTP 403) vi admin-openrc.sh export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD =ADMIN_PASS export OS_AUTH_URL=http://controller:35357/v2.0 vi demo-openrc.sh export OS_TENANT_NAME=demo GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ IDENTIFIED BY 'NOVA_DBPASS'; 注册nova服务用户 source admin-openrc.sh restart service nova-conductor restart service neutron-server restart 验证neutron是否搭建成功 source admin-openrc.sh p_w_picpaths wget http://cdn.download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img source admin-openrc.sh
验证操作 [root@controller ~]# echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh #在每个客户端脚本中,配置镜像服务客户端使用2.0的API export OS_IMAGE_API_VERSION=2 [root@controller ~]# source admin-openrc.sh
controller端可以远程连接到ftp端的yum源 Controller端: 安装xiandian Yum install -y iaas-xiandian 配置环境变量 Vim /etc/xiandian/openrc.sh Iaas-install-mysql.sh Iaas-install-keystone.sh Iaas-install-glance.sh 部署完成后查看 首先打开新的终端 加载一下环境变量 Source /etc/xiandian/openrc.sh
创建公共网络 [root@controller ~]# source admin-openrc.sh #加载 admin 凭证来获取管理员能执行的命令访问权限 [root@controller ~] --+----------------------------------------------------+ 创建私有项目网络 [root@controller ~]# source demo-openrc.sh --------+------------------------------------------------+ 创建路由器 [root@controller ~]# source admin-openrc.sh router:external #添加router: external到 public 网络 Updated network: public [root@controller ~]# source demo-openrc.sh
如下: # Controller节点 安装 执行脚本iaas-install-mysql.sh进行安装 报错的原因是: source /etc/xiandian/openrc.sh,脚本里ping通, /bin/bash 2 3 source /etc/xiandian/openrc.sh 4 5 ping $HOST_IP -c 4 >> /dev/null 2>&1 6 7 if \033[0m" 10 11 exit 1 12 13 fi 解决: vim /etc/xiandian/openrc.sh ,#此文件是安装过程中的各项参数,根据每项参数上一行的说明及服务器实际情况进行配置 /bin/bash 2 3 source /etc/xiandian/openrc.sh 4 5 ping $HOST_IP -c 4 >> /dev/null 2>&1 6 7 if
在命令模式下执行此命令:%s/PASS=/PASS=000000/g用于编写PASS 在编辑模式下,按q进入到命令模式 [root@controller ~]# cat /etc/xiandian/openrc.sh 通过scp传输至compute相应的文件夹内 [root@controller ~]# scp /etc/xiandian/openrc.sh 172.16.19.20:/etc/xiandian/openrc.sh 172.16.10.20:/etc/xiandian/openrc.sh The authenticity of host '172.16.10.20 (172.16.10.20)' can't be [root@compute ~]# cat /etc/xiandian/openrc.sh #--------------------system Config------------------ 的配置文件 [root@controller ~]# vi /etc/xiandian/openrc.sh 修改计算节点的主机名和IP地址为控制节点的主机名和IP地址 [root@controller
如果报错: “You must provide a username via either --os-username or env[OS_USERNAME]” 就执行命令: source admin-openrc.sh admin-openrc.sh 文件内容是: [root@controller0 ~]# more admin-openrc.sh export OS_TENANT_NAME=admin export
/bin/bash source /etc/xiandian/openrc.sh source /etc/keystone/admin-openrc.sh crudini --set /etc/neutron /bin/bash source /etc/xiandian/openrc.sh source /etc/keystone/admin-openrc.sh crudini --set /etc/neutron
---+----------------------------------+--------+--------+-----------+ openstack client 环境变量脚本 admin-openrc [root@controller01 ~]# cat admin-openrc export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME [root@controller01 ~]# source admin-openrc [root@controller01 ~]# openstack domain list +---------- ---------------------------------------------------------------------------------------------+ demo-openrc [root@controller01 ~]# cat demo-openrc export OS_PROJECT_DOMAIN_NAME=Default export OS_USER_DOMAIN_NAME
yum.repos.d]# systemctl enable vsftpd #设置ftp服务开机自启 修改脚本: [root@controller ~]# vim /etc/xiandian/openrc.sh iaas-xiandian 修改脚本 将controller节点的脚本复制到compute节点: [root@compute ~]# scp 192.168.100.10:/etc/xiandian/openrc.sh /etc/xiandian/openrc.sh 需要修改compute节点脚本: [root@compute ~]# vim /etc/xiandian/openrc.sh 第70行修改成本机ip: iaas-install-mysql.sh [root@controller ~]# iaas-install-keystone.sh [root@controller ~]# source /etc/keystone/admin-openrc.sh
2.5创建 OpenStack 客户端环境脚本 可将环境变量设置为脚本: #vi admin-openrc 加入: export OS_PROJECT_DOMAIN_NAME 35357/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 运行使用 #. admin-openrc 或者使用#source admin-openrc 验证输入命令: openstack token issue 有正确的输出即为配置正确。 ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY '密码'; 运行环境变量: #. admin-openrc libvirtd.service openstack-nova-compute.service 4.3验证 在控制节点验证: 运行环境变量: #. admin-openrc
://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 #vi demo-openrc /controller:35357/v3 export OS_IDENTITY_API_VERSION=3 export OS_IMAGE_API_VERSION=2 #. admin-openrc start openstack-glance-api.service \ openstack-glance-registry.service 3.2验证 运行环境变量: #. admin-openrc #GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' \ IDENTIFIED BY '密码'; 运行环境变量: #. admin-openrc ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'NEUTRON_DBPASS'; 运行环境变量: #. admin-openrc
[root@controller /]# . admin-openrc #admin-openrc文件中的内容 [root@controller /]# vim admin-openrc export
8.创建OpenStack客户端环境脚本 创建客户端环境的脚本admin和demo项目和用户 创建并编辑admin-openrc文件并添加以下内容: ? 创建并编辑demon-openrc文件并添加以下内容: ? 9.使用脚本 要以特定项目和用户身份运行客户端,只需在运行客户端环境脚本之前加载相关的客户端环境脚本即可。 例如: 加载admin-openrc文件以使用Identity服务的位置以及admin项目和用户凭据填充环境变量: [root@controller~]# . admin-openrc 请求身份验证令牌 2.创建glance用户和服务 加载环境变量 [root@controller ~]# . admin-openrc 创建glance用户 [root@controller~]# openstack 加载环境变量 [root@controller ~]# . admin-openrc 下载源镜像 [root@controller ~]# wget http://download.cirros-cloud.net
~]# su -s /bin/sh -c "glance-manage db_sync"glance 3.2、创建glance用户 [root@controller ~]# source admin-openrc.sh openstack-glance-registry 5、添加glance环境变量 [root@controller ~]# echo "export OS_IMAGE_API_VERSION=2" \ | tee -a admin-openrc.sh kevin-openrc.sh 6、验证是否安装成功 [root@controller ~]# glance p_w_picpath-list +----+------+ | ID | Name |
但在Alpine中,apk取代了apt,Alpine同样没有使用systemd,而是使用了OpenRC,无论是apt还是OpenRC,都是轻而小的实现 3. 使用了BusyBox,Apt以及OpenRC等一些轻量级实现 从这些做法上也能看出,Alpine的定位不是普通的Linux系统,它应该是为嵌入式Linux而生,几MB的系统大小,当然更适合嵌入式Linux