嘿嘿嘿,我太懒了,就一点点补作业。
openstack命令
第六章
配置keystone应用环境
keystone服务安装完成之后,可以通过请求身份令牌来验证服务,具体命令如下,以admin用户来访问http://controller:3357/v3
来获取token的值,
用admin用户访问http://controller:35357/v3获取token值
openstack --os-project-name admin --os-domain-name demo --os-username admin --os-password 000000 --os-auth-url http://controller:35357/v3 token issue
管理认证用户
生效环境变量
source /etc/keystone/admin-openrc.sh
创建昵称为alce的用户,密码为mypassword123,邮箱为[email protected],域为demo
openstack user create --password mypassword123 --email alice@example.com --domain demo alice
创建项目acme
openstack project create --domain demo acme
创建角色
openstack role create compute-user
给用户alice分配项目acme下的compute-user角色。
openstack role add --user alice --project acme compute-user
显示用户admin
openstack user show admin
显示项目
openstack project show ceme
显示管理员角色
openstack role show admin
创建项目-
创建业务部BS_dept
openstack project create --domain demo BS_dept
创建it部it_dept的租户
openstack project create --domain demo IT_dept
创建用户账号
cli界面为业务部门创建一个名为BS_Dept的租户
openstack project create --domain=demo BS_Dept
cli界面为IT部门创建一个名为IT_Dept的租户
openstack project create --domain=demo IT_Dept
cli界面为IT部门创建一个名为RD_Dept的租户
openstack project create --domain=demo RD_Dept
RD_Dept 创建rduser01
openstack user create --domain=demo --password cloudpassword --email alice@example.com --project RD_Dept rduser01
给业务部BS_Dept创建用户bsuser01
openstack user create --domain=demo --password cloudpassword --email alice@example.com --project BS_Dept bsuser01
给业务部BS_Dept创建用户bsuser02
openstack user create --domin=demo --password cloudpassword --email alice@example.com --project BS_Dept bsuser02
给业务部IT_Dept创建用户ituser01
openstack user create --domain=demo --password cloudpassword --email alice@example.com --project IT_Dept ituser01
绑定用户权限
界面化绑定权限
bsuser01属于compute-user
openstack role add --domain=demo --user=bsuser01 compute-user
openstack role add --domain=demo --group=BS_Dept compute-user
图形化绑定权限
打开dashboard
,找到管理员选项,选中’项目’,选择‘管理用户’,进入‘编辑虚项目’
直达网址http://192.168.100.10/dashboard/identity/
第七章
一、消息服务
1、检测RabbitMQ服务
source /etc/keystone/admin-openrc.sh
rpm -qa|grep rabbitmq
如果检测没有服务,就可以通过yum install -y rabbitmq -server
进行安装
2、RabbitMQ服务用户操作
①查询当前用户列表
rabbitmqctl list_users
②创建rabbitmq用户openstack
rabbitmqctl add_user openstck 000000
rabbitmqctl list_users
3、赋予消息队列服务用户访问权限
①赋予openstack用户对所有资源读写的权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*"
②查询openstack用户所拥有的权限
rabbitmqctl list_user_permissions openstack
第八章
一、镜像服务
1、镜像服务基本操作
(1)命令行方式进行镜像创建、查询、删除和修改镜像。
①查询Glance版本
查询Glance服务列表
source /etc/keystone/admin-openrc.sh
openstack-service list|grep glance
②检测Glance服务是否启动
openstack-service status|grep glance
③查询glance-control版本
glance-control --version
(2)创建镜像
①使用终端软件上传CirrOS镜像到contrller的/tmp/images目录中,并查看
mkdir /tmp/images
cd /tmp/images/tmp/images
wget http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img
②查看镜像文件信息
[root@controller images]# file cirros-0.3.2-x86_64-disk.img
③使用命令行创建镜像
source /etc/keystone/admin-openrc.sh
glance image-create --name "cirros-0.3.2-x86_64" --disk-format qcow2 --container-format bare --progress < cirros-0.3.2-x86_64-disk.img
④查询镜像列表
glance image-list
(3) 更改镜像
①获取镜像详细信息
glance image-show 2dcb1ef3-7cfa-41b2-9156-24293b7122d1
这里的2dcb1ef3-7cfa-41b2-9156-24293b7122d1和④查询镜像列表的ID一模一样
②修改镜像启动硬盘所需大小
glance image-update --min-disk=1 2dcb1ef3-7cfa-41b2-9156-24293b7122d1
③删除镜像
glance image-delete 2dcb1ef3-7cfa-41b2-9156-24293b7122d1
glance image-list
二、制作Centos7.2镜像 制作Centos7.2镜像
(1)挂载Centos7.2的iso文件,如果在/opt目录下有相应的目录就不用挂载
挂载centos7
[root@controller ~]# mkdir /opt/centos7
[root@controller ~]# mount -o loop /dev/cdrom /mnt/
[root@controller ~]# cp -rf /mnt/* /opt/centos7
[root@controller ~]# umount /mnt/
挂载xiandian
[root@controller ~]# mount -o loop /dev/cdrom /mnt/
[root@controller ~]# mkdir /opt/iaas
[root@controller ~]# cp -rf /mnt/* /opt/iaas
[root@controller ~]# umount /mnt/
(2)安装虚拟化工具软件包qemu-kvm和libvirt
yum install -y qemu-kvm libvirt
###qemu-kvm用来创建虚拟机硬盘,libvirt用来管理虚拟机
(3)安装虚拟化工具软件包virt-install,用来创建虚拟机
yum install -y virt-install
(4)启动libvirtd
如果ip a
不能显示,那就yum install -y net -tools
cd /usr/local/bin
systemctl start libvirtd && systemctl enable libvirtd
能看见virbr0 就为成功
ip a
(5)使用KVM创建CentOS7的虚拟机
① 使用qemu命令创建一个10G的硬盘的虚拟机(最小10,G,可以更多),虚拟机的名称为: CentOS-7-x86_64.raw。
[root@controller /]# qemu-img create -f raw /opt/CentOS-7-x86_64.raw 10G
Formatting '/opt/CentOS-7-x86_64.raw', fmt=raw size=10737418240
[root@controller /]# ll -h /opt
total 36K
drwxr-xr-x. 8 root root 4.0K Apr 20 11:24 centos
drwxr-xr-x. 8 root root 4.0K May 22 20:05 centos7
-rw-r--r--. 1 root root 10G May 22 20:18 CentOS-7-x86_64.raw
-rw-r--r--. 1 root root 1.7K Dec 9 2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1.3K Dec 9 2015 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Dec 9 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 290 Dec 9 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Dec 9 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1.3K Dec 9 2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 2.0K Dec 9 2015 CentOS-Vault.repo
drwxr-xr-x. 4 root root 35 May 22 20:09 iaas
[root@controller /]#
②使用virt-install创建名称为CentOS-7-x86_64的虚拟机,在创建之前,先上传一个CentOS7的ISO镜像
③创建虚拟机
这里的/opt/CentOS-7-x86_64-DVD-1511.iso 是我上传的镜像
virt-install --virt-type kvm --name CentOS-7-x86_64 --ram 1024 --cdrom=/opt/CentOS-7-x86_64-DVD-1511.iso --disk path=/opt/CentOS-7-x86_64.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
④使用TightVNC工具,连接主机IP 192.168.100.10 设置安装操作系统的网卡名称为eth0
安装步骤和我们平时安装操作系统的方法一样,安装完成后,可以使用virsh list --all显示KVM上所有的虚拟机
[root@controller /]# virsh list --all
Id Name State
----------------------------------------------------
2 CentOS-7-x86_64 running
⑤ 管理KVM
a.使用virsh启动KVM中的虚拟机
[root@controller /]# virsh list --all
Id Name State
----------------------------------------------------
2 CentOS-7-x86_64 running
[root@controller /]# virsh start CentOS-7-x86_64
Domain CentOS-7-x86_64 started
[root@controller /]#
b.配置网卡ip地址、重启网卡
vi /etc/sysconfig/network-script/ifcfg-eth0
c.关闭虚拟机,如图4-25所示
poweroff
镜像格式转换
[root@controller ~]# qemu-img convert -f raw /opt/CentOS-7-x86_64.raw /opt/CentOS-7-x86_64.qcow2
可以看到/opt目录下已经存在QCOW2格式的文件了
第9周
一、上传镜像
二、网络基本操作
①列出系统扩展命令
[root@controller ~]# neutron ext-list -c alias -c name
+---------------------------+-----------------------------------------------+
| alias | name |
+---------------------------+-----------------------------------------------+
| default-subnetpools | Default Subnetpools |
| network-ip-availability | Network IP Availability |
| network_availability_zone | Network Availability Zone |
| auto-allocated-topology | Auto Allocated Topology Services |
| ext-gw-mode | Neutron L3 Configurable external gateway mode |
| binding | Port Binding |
| agent | agent |
| subnet_allocation | Subnet Allocation |
| l3_agent_scheduler | L3 Agent Scheduler |
| tag | Tag support |
| external-net | Neutron external network |
| fwaasrouterinsertion | Firewall Router insertion |
| net-mtu | Network MTU |
| availability_zone | Availability Zone |
| quotas | Quota management support |
| l3-ha | HA Router extension |
| provider | Provider Network |
| multi-provider | Multi Provider Network |
| address-scope | Address scope |
| lbaas | LoadBalancing service |
| extraroute | Neutron Extra Route |
| timestamp_core | Time Stamp Fields addition for core resources |
| lbaas_agent_scheduler | Loadbalancer Agent Scheduler |
| fwaas | Firewall service |
| router | Neutron L3 Router |
| extra_dhcp_opt | Neutron Extra DHCP opts |
| dns-integration | DNS Integration |
| service-type | Neutron Service Type Management |
| security-group | security-group |
| dhcp_agent_scheduler | DHCP Agent Scheduler |
| router_availability_zone | Router Availability Zone |
| rbac-policies | RBAC Policies |
| standard-attr-description | standard-attr-description |
| port-security | Port Security |
| allowed-address-pairs | Allowed Address Pairs |
| dvr | Distributed Virtual Router |
+---------------------------+-----------------------------------------------+
[root@controller ~]#
②修改网络模式
[root@controller ~]# sed -i '101s/flat/vxlan/g' /etc/neutron/plugins/ml2/ml2_conf.ini
[root@controller ~]# crudini --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_vxlan vni_ranges 1:1000
[root@controller ~]# openstack-service restart
[root@controller ~]#
③创建网络
[root@controller ~]# neutron net-create ext-net --shared --router:external=True
Created a new network:
+---------------------------+----------------