CL210 openstack配置
CL210是红帽的openstack课程,OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目,openstack虽然模块虽然比较多,但由于其大部分组件都可以在dashboard里进行点击配置,所认实际上也并不复杂。,这里以一份找到的openstack考题作为openstack的入门吧。
一、安装openstack
1、安装packstack
packstack是个一键安装工具包,这里我们使用packstack进行安装 ,所装上packstack包并配置key认证。
1# ssh-keygen (考试时一般已经有,不需要单独生成)
2# ssh-copy-id [email protected]
3# yum -y update 升级主机系统并reboot
4# yum -y install openstack-packstack
2、生成和编辑answer文件
安装完packstack后,可以利用packstack进行安装,生成后answer文件,如下:
1# packstack --gen-answer-file=answer.txt
接下来编辑answer.txt文件
1、修改Horizon走SSL,修改为Y ---找到 “ CONFIG_HORIZON_SSL=n ”项,将n改为y,这里是让Horizon(也就dashborad UI组件)走ssl加密认识;
2、修改keystone登陆密码 --- 找到 “ CONFIG_KEYSTONE_ADMIN_PW= ” 项,将ADMIN_PW后面的密码修改为题目要求的,这个密码是dashborad登陆时要用到的密码;
3、swift服务默认会安装,这步略过;
4、NTP_SERVERS修改 ---找到 “ CONFIG_NTP_SERVERS= ” 项改为题目指定的ntp服务器;
5、修改cinder-volumes项 --- 在CL210环境就默认已经有一个建好的卷cinder-volums,这里将“ CINDER_VOLUMES_CREATE=y ” 修改为n,实际生产中这项不用改;
6、由于不需要配置demo,找到 ” CONFIG_PROVISION_DEMO=y ” 修改为n 。
上面几项放在一起,修改内容结果为:
1CONFIG_NTP_SERVERS=172.24.1.254
2CONFIG_KEYSTONE_ADMIN_PW=Flectrag9
3CONFIG_HORIZON_SSL=y
4CONFIG_CINDER_VOLUMES_CREATE=n
5CONFIG_PROVISION_DEMO=n
使用刚刚修改过的answer文件,使用packstack一键安装,如下:
1# packstack --answer-file=answer.txt
3、网络配置
在配置下一步之前还需要先将管理机的网络配置为桥接模式:
1[root@servera network-scripts]# cp ifcfg-eth0 ifcfg-br-ex
2[root@servera network-scripts]#vi ifcfg-br-ex
3DEVICE=br-ex ---*
4BOOTPROTO=static
5ONBOOT=yes
6TYPE=OVSBridge-----*
7DEVICETYPE=ovs ---*
8USERCTL=yes
9PEERDNS=yes
10IPV6INIT=no
11IPADDR=172.25.0.10
12NETMASK=255.255.255.0
13GATEWAY=172.25.0.254
14DNS1=172.25.254.254
15[root@servera network-scripts]# cat ifcfg-eth0
16DEVICE=eth0
17ONBOOT=yes
18TYPE=OVSPort ------*
19DEVICETYPE=ovs ----*
20OVS_BRIDGE=br-ex ---*
21[root@servera ~]# systemctl restart network
22[root@servera ~]# ovs-vsctl show
23Bridge br-ex
24 Port "eth0"
25 Interface "eth0"
26 Port br-ex
27 Interface br-ex
28 type: internal
注: 其中需要修改的部分已使用 ” —* ” 行进行了标注 .
修改完成后通过ifconfig查看网络配置时,会发现IP在br-ex 接口上时就对了。
二、配置project工程
project 我们可以理解为组或者部分的概念,比如工程组、现网组、开发组等,每个组的服务器单独分开,便于各自单独管理。
配置tenants projects 非常简单,打开openstack的dashborad界面,使用刚刚在keystone中配置的用户密码登陆即可。找到indenty --- projects ---create project即可:
三、创建用户
创建用户的步骤是indenty ---users ---Create user ,不过在增加用户时需要注意选择不同的角色:
四、创建flavor
flavor简单的来说就是说预设的虚拟机的类型,比如默认的有tiny、small 、large,通过flavor我们也可以也可以给虚拟机一个自定的类型。创建步骤为依次找到admin ---system ---create flavor ,如下图:
五、配额配置
这里的配额是针对project而言的,通过该配置,可以指定某个部分允许使用的最大资源数量,便于对每个部门的使用进行把控。
该部分不再截图,可以参看第二部分 配置project工程 中的截图,同样在indenty --- projects中找到对应的project,在该项的最右边选择edit project ---quota 修改配额。
六、创建一个块存储卷
这里对应的存储卷由于未指定类型,由于我们也未配置swift、ceph等类型存储,所以这里是nova-volume组件(从Folsom版开始从nova独立出来,成了cinder组件)默认创建的卷,即第一步中我们默认安装时的cinder-volums卷。
再看题目要求,存储卷是在Engineering project项目下的,所以这里我们需要在dashborad界面退出,重新以Robert用户登陆。登陆后依次选择project — computer — volumes — create volumes
七、增加一个image镜像
glance服务主要是提供虚拟机镜像的发现,注册,取得服务的。将该服务保存到glance存储后,我们可以在openstack云平台上通过这些预先的image,快速的创建虚机。操作步骤为在web界面依次点选project — computer — images — create images
从上图可以看出,glance支持的image类型还是比较多的,另外还需要注意的是由于题目中已经说明了这个image是所有人都可以访问的,所以这里勾选下public 。
八、创建一个安全组
创建安全组这里还隐藏了一个题目就是创建rules 。在web界面依次点选project — computer — access&security — create security group 。创建完成后,在对应的rule规则的最右边有manage rules 选项 ---点击后在右边选择 add rule
九、网配网络
这里机配置两个网络,一个为外部网络,一个内部网络,我们可以简单的理解为有两个交换机和一个路由器。这里网络的实现是使用了neutron组件实现的。先来创建内部网络,依次选择project ---network --- networks ---create network 。如下:
后面的选项里默认选择DHCP就行了。创建完内部网络,接下来创建外部网络,外部网络的创建步骤和前面相同,只不过网关需要配置上,这个可以查看servera的网关是什么,需要特别注意的是subnet detail 项,具体如下:
看下面的题目,可以看出,在创建实例时,需要allocation地址,而且在上面创建engineering项目quota时,内部可以有三个实例,由于网关需要默认占用一个,所以这里预留四个可用地址。第一个地址给网关,第二个地址就是实际需要分配到的地址。
还需要注意的是,需要通过依次点击admin --- system --- public网络 --- Edit network --- External Network 将public网络标注为外部网络。
接下来创建路由器,依次点击project --- Network --- Routers --- create route 。选择刚刚选择好的路由器ex210-route --- 在最右边选择set gateway --- 将public标记为外网:
实际上上面操作这一步已经将public网络接口加入到路由器上,我们再增加private网络 。点击开刚刚创建开的ex210-route,选择add-interface,如下:
注意:网络配置的这道题是本试题里最难的一道了,几个操作增加好网络、设置public网络为外部网络,设置外部网络为网关,再增加接口到路由器,顺序不能搞反或搞混了。顺序搞错了这题也会出问题。后面在单独安装时再将通过命令配置网络的方法指定下。
十、创建一个实例
在创建实例之前,这里有一个隐藏题目需要先做掉,就是创建key文件。操作步骤为project — computer — access&security — create key pair ,如下:
接下来project — computer — instances — launch instance 创建实例,
十一、分配外网IP
这个题目没有什么好操作的,在刚刚lanuch好的实例最右端有Allocate floating IP 按键,选择后分配一个浮动IP即可。
十二、附加一个块存储
这个增加的块存储是由cinder存储提供的,比如在阿里云或AWS云中都区分系统盘和数据盘,这里增加的/dev/vdb我们可以理解为数据盘的概念。这里依次选择project — computer — volumes,选择之前创建的volumes,在最右边选择manage volume attachments,如下图,将对应的实际attach上这个卷就可以了。
十三、创建卷快照
依次点击project — computer — volumes ,选择之前创建的storage volume ,在右边有Edit volume,在下拉菜单中选择创建快照,如下:
十四、使用ssh key连接
1[root@foundation0 ~]# mv Downloads/webkey.pem /root/.ssh/myident
2[root@foundation0 ~]#
3[root@foundation0 ~]# chmod 600 /root/.ssh/myident
4[root@foundation0 ~]#
5[root@foundation0 ~]# ssh -i /root/.ssh/myident [email protected]
6Please login as the user "cloud-user" rather than the user "root".
7^CConnection to 172.25.0.40 closed.
8[root@foundation0 ~]# ssh -i /root/.ssh/myident [email protected]
9[cloud-user@webserver ~]$
上面的操作有两点需要注意,一点是移动后的key权限要改为600,第二点就是默认是不允许直接以root登陆的在这个img文件,使用的是cloud-user用户,通过该用户我们可以sudo到root用户。这点不允许直接ssh key使用root登陆倒没什么神秘的,我看了下是在key认证文件里做了手脚,如下:
1[root@webserver ~]# cat .ssh/authorized_keys
2ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAx/Xk+tLGBCatkBuxzyEXVhupSgb4Lema0PAnM8dFbSxcPz4W4jO8yQgtONzHs8KOhs4J1NG9bHeAwpJa2p9iJkyrigxmQv0LOpvENdlGbA1hwsRoOhBGqwRzSmKHS4Or94FBXvzDwHfbkxDV0XhzHKod8b9tYuaIQfhbF3NUR2ItZiYJhBds+3GOAHhdbU9DOAyX8X60vppkgoJ4nb2Mugw51LM+uVh8ds24wzU3Khr6Dcmae7KX/b/PX0J0rO23ZPq1AJ3i6r13AJUc6beLjQXPzYs/ZLKiQZWaZUePnsiaIpKXpH7vuBK3zidvcK2pf6XXAB9MW7GtoFJnr6v+bQ== InstructorKey
3no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo 'Please login as the user \"cloud-user\" rather than the user \"root\".';echo;sleep 10" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaQSOZle62dzQMvFRnB/za150QYXIv8my+YelcWAq7Ft4nD7r5L6am7Fx9/u7F81lCfHiY2WpaUG/AvTl+hQwj1iFjtpK4tiY4F/6nghMH2rYDLl3NDL/S4eFABtwjLm0+OCjtnDtiMw9r13G1SP9efQVkiI6SSvjQ9dpwEs94pSadcFXU5ufninSVcUhyXrajJIcx+aIxtcVfmQPo608pXDqImrDfEG0w0UYZ6ui196A8AHVoYn/Ve4n2BPefAJQTkcZQ2GXDmS5OZAEF4ilcLuulu8G9Avivv+I0wT/RhCBovFRzCSd/jfIx10LmcBCEhdB/ARFM8uriLkcvB1W9 Generated-by-Nova
其中nova生成的那个key有没有发现。
十五、配置swift容器
这里叫容器感觉并不完全准确,swift是对象存储,这个和我们常见的云盘---百度云、dropbox等非常相似。之所以这里又叫容器,其实也不完全没有道理,这里每个容器可以简单的理解了一个大的文件夹。在将对象文件存放之前,需要先创建一个container ,然后再upload object到这个容器。
操作步骤:project ---object store ---选择对应的容器 ---upload object 上传即可。在此之前可以通过create container创建容器。
上面该图由于较大,点击可以查看大图。
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/cl210-openstack/5063.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.