Part 9 - 增加一个计算节点

2021-03-09
4分钟阅读时长

【版本】

当前版本号v20220209

版本修改说明
v20220209修正了部分步骤
v20210325修改了步骤17的描述,更为准确
v20210309初始化版本

【实验名称】

云计算部署实战 Part 9 - 增加一个计算节点

【实验目的】

  • 掌握配置Openstack计算节点,让计算节点组成集群。

【实验环境】

  • 内存:至少4G
  • 硬盘:至少空余40G
  • 操作系统: 64位 Windows系统。

【实验资源】

  • FinalShell
  • CentOS 7 系统镜像
  • VirtualBox
  • Openstack 源

【实验步骤】

  1. 从模板机克隆出一台新的虚拟机作为新的计算节点。命令可参考之前步骤。以下步骤如果没有特别说明,都在新的计算节点上执行。

  2. 把虚拟机 Hostname 命名为computerB+你学号后3位。注意替换为你的学号。命令可参考之前步骤。

  3. 设置新的计算节点的IP为10.0.0.32。命令可参考之前Part 2 步骤6

  4. 控制节点和2个计算节点的hosts统一配置为如下文本。命令可参考之前Part 2 步骤8

10.0.0.11 controller+你学号后3位
10.0.0.31 computer+你学号后3位
10.0.0.32 computerB+你学号后3位
  1. 配置 chrony 和控制节点同步。命令可参考之前Part 2 步骤9

  2. 安装openstack客户端openstack-selinux

yum install python-openstackclient.noarch  openstack-selinux.noarch -y
  1. 安装nova-compute。
yum install openstack-nova-compute -y
yum install openstack-utils.noarch -y
  1. 备份nova.conf。
cp /etc/nova/nova.conf{,.bak}
grep '^[a-Z\[]' /etc/nova/nova.conf.bak >/etc/nova/nova.conf
  1. 修改/etc/nova/nova.conf。注意替换为你的学号。
openstack-config --set /etc/nova/nova.conf  DEFAULT rpc_backend  rabbit
openstack-config --set /etc/nova/nova.conf  DEFAULT auth_strategy  keystone
openstack-config --set /etc/nova/nova.conf  DEFAULT my_ip  10.0.0.32
openstack-config --set /etc/nova/nova.conf  DEFAULT use_neutron  True
openstack-config --set /etc/nova/nova.conf  DEFAULT firewall_driver  nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf  glance api_servers  http://controller+你学号后3位:9292
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_uri  http://controller+你学号后3位:5000
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_url  http://controller+你学号后3位:35357
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  memcached_servers  controller+你学号后3位:11211
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  auth_type  password
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  project_domain_name  default
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  user_domain_name  default
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  project_name  service
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  username  nova
openstack-config --set /etc/nova/nova.conf  keystone_authtoken  password  NOVA_PASS
openstack-config --set /etc/nova/nova.conf  oslo_concurrency lock_path  /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_host  controller+你学号后3位
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_userid  openstack
openstack-config --set /etc/nova/nova.conf  oslo_messaging_rabbit   rabbit_password  RABBIT_PASS
openstack-config --set /etc/nova/nova.conf  vnc enabled  True
openstack-config --set /etc/nova/nova.conf  vnc vncserver_listen  0.0.0.0
openstack-config --set /etc/nova/nova.conf  vnc vncserver_proxyclient_address  '$my_ip'
openstack-config --set /etc/nova/nova.conf  vnc novncproxy_base_url  http://10.0.0.11:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf  neutron url  http://controller+你学号后3位:9696
openstack-config --set /etc/nova/nova.conf  neutron auth_url  http://controller+你学号后3位:35357
openstack-config --set /etc/nova/nova.conf  neutron auth_type  password
openstack-config --set /etc/nova/nova.conf  neutron project_domain_name  default
openstack-config --set /etc/nova/nova.conf  neutron user_domain_name  default
openstack-config --set /etc/nova/nova.conf  neutron region_name  RegionOne
openstack-config --set /etc/nova/nova.conf  neutron project_name  service
openstack-config --set /etc/nova/nova.conf  neutron username  neutron
openstack-config --set /etc/nova/nova.conf  neutron password  NEUTRON_PASS
openstack-config --set /etc/nova/nova.conf  libvirt cpu_mode none
openstack-config --set /etc/nova/nova.conf  libvirt virt_type qemu
  1. 安装neutron-linuxbridge-agent和相关软件。
yum install openstack-neutron-linuxbridge ebtables ipset -y
  1. 备份/etc/neutron/neutron.conf。
cp /etc/neutron/neutron.conf{,.bak}
grep '^[a-Z\[]' /etc/neutron/neutron.conf.bak >/etc/neutron/neutron.conf
  1. 修改/etc/neutron/neutron.conf。注意替换为你的学号。
openstack-config --set /etc/neutron/neutron.conf  DEFAULT rpc_backend  rabbit
openstack-config --set /etc/neutron/neutron.conf  DEFAULT auth_strategy  keystone
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_uri  http://controller+你学号后3位:5000
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_url  http://controller+你学号后3位:35357
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken memcached_servers  controller+你学号后3位:11211
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken auth_type  password
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken project_domain_name  default
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken user_domain_name  default
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken project_name  service
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken username  neutron
openstack-config --set /etc/neutron/neutron.conf  keystone_authtoken password  NEUTRON_PASS
openstack-config --set /etc/neutron/neutron.conf  oslo_concurrency lock_path  /var/lib/neutron/tmp
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_host  controller+你学号后3位
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_userid  openstack
openstack-config --set /etc/neutron/neutron.conf  oslo_messaging_rabbit rabbit_password  RABBIT_PASS
  1. 备份/etc/neutron/plugins/ml2/linuxbridge_agent.ini。
cp /etc/neutron/plugins/ml2/linuxbridge_agent.ini{,.bak}
grep '^[a-Z\[]' /etc/neutron/plugins/ml2/linuxbridge_agent.ini.bak >/etc/neutron/plugins/ml2/linuxbridge_agent.ini
  1. 修改/etc/neutron/plugins/ml2/linuxbridge_agent.ini。注意替换为你的网口编号。
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  linux_bridge physical_interface_mappings  provider:替换为你的网口编号
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  securitygroup enable_security_group  True
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  securitygroup firewall_driver  neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
openstack-config --set /etc/neutron/plugins/ml2/linuxbridge_agent.ini  vxlan enable_vxlan  False
  1. 启动以下服务,并设置为开机启动。
  • libvirtd
  • openstack-nova-compute
  • neutron-linuxbridge-agent
  1. 在 Dashboard 查看是否有新的计算节点加入。

  2. 请搜索参考网上资料,实现在指定新的计算节点上创建一个名为cirros+你学号后3位的实例。

注意新的实例需要通过命令方式指定运行在新的计算节点上。
  1. 登录新的实例,输出系统 hostname 和 IP。

【思考和探索】