openstack学习二-虚拟机上手工最小化安装stein(1)

本文详细介绍在两台虚拟机上最小化安装OpenStack Stein版本的过程,涵盖基础服务及关键组件如Keystone、Glance、Nova、Neutron的安装步骤。文章包括环境配置、密码规划、基本服务安装等内容。

    openstack目前最新稳定版本是stein,通过手工安装一遍可以最大限度的了解openstack的架构,更加深刻的理解openstack各组件之间的关联关系,本次实验的目标是在一台虚拟机上通过手工最小化安装openstack的基础服务及keystone、glance、placement、nova、neutron组件安装,这些组件安装后即可通过openstack命令行来开通虚拟机,如果需要图形界面管理还需要安装horizon提供dashboard服务。

一、openstack整体组件架构图

OpenStack conceptual architecture

上图是openstack官方网站架构图,各种组件的目标最终都是为了给VMs提供各类服务,比如最基本的认证、镜像、计算及网络服务,其它类似对象、块存储、大数据、编排等服务也是为了更好的为租户提供服务。学习openstack要知到这些服务并不是一开始被设计好的,而是随着openstack的推广应用逐渐扩展开来的,这里面只有nova、glance是最初的服务。

二、安装主机规划

主机名cpu内存netcard1netcard2
controller416ens192:10.37.6.23ens224:10.37.9.171
compute416ens192:10.37.6.24ens224:10.37.9.198

控制节点、计算节点的规划如下图两个实心框所示,虚线框是可选项,不在本次讨论之列,最小需要两台虚拟机,实际使用的配置如上。 

ç¡¬ä»¶è¦æ±

 

三、安装密码规划

 
用户账号

密码名称

密码

描述

root

root

root

数据库的root密码

admin

ADMIN_PASS

admin

用户密码 admin

cinder

CINDER_DBPASS

cinder

块存储服务的数据库密码

cinder

CINDER_PASS

cinder

Block Storage服务用户的密码 cinder

dashboard

DASH_DBPASS

dashboard

仪表板的数据库密码

demo

DEMO_PASS

demo

用户密码 demo

glance

GLANCE_DBPASS

glance

图像服务的数据库密码

glance

GLANCE_PASS

glance

图像服务用户的密码 glance

keystone

KEYSTONE_DBPASS

keystone

身份服务的数据库密码

metadata

METADATA_SECRET

metadata

元数据代理的秘密

neutron

NEUTRON_DBPASS

neutron

网络服务的数据库密码

neutron

NEUTRON_PASS

neutron

网络服务用户的密码 neutron

nova

NOVA_DBPASS

nova

Compute服务的数据库密码

nova

NOVA_PASS

nova

计算服务用户的密码 nova

placement

PLACEMENT_PASS

placement

展示位置服务用户的密码 placement

openstack

RABBIT_PASS

openstack

RabbitMQ用户的密码 openstack

四、基本环境安装

      1、配置网卡ip及主机名解析

           依据上面数据规划在分别将主机设置为controller、compute两个主机,分别配置上对应两个网卡的IP地址及设置好/etc/hosts文件内容。

      2、所有主机节点上安装NTP服务并验证
  yum install chrony
  vi /etc/chrony.conf 添加一行本地NTP服务器IP地址即可,如果使用互联网访问则不必修改使用默认配置即可。
      server 133.0.254.240 iburst

     systemctl enable chronyd.service
     systemctl start chronyd.service

在计算节点上修改chrony配置文件,将服务器指向为controller节点,用controller从高精度时间节点同步,然后在让计算节点通过controller节点同步时间。执行完后通过chronyc sources进行检查,在计算节点上第一个应该是controller。

  3、安装启用centos7的openstack安装库及客户端

extras存储库提供启用OpenStack存储库的RPM。CentOS extras默认包含存储库,因此您只需安装软件包即可启用OpenStack存储库。

   yum install centos-release-openstack-stein -y

RHEL和CentOS 默认启用SELinux。安装 openstack-selinux软件包以自动管理OpenStack服务的安全策略

   yum install python-openstackclient openstack-selinux -y

4、 安装配置数据库服务,该项目只需要在控制节点安装即可

 yum install mariadb mariadb-server python2-PyMySQL

创建和编辑/etc/my.cnf.d/openstack.cnf文件(/etc/my.cnf.d/如果需要,备份现有配置文件)并完成以下操作:

  • 创建一个[mysqld]部分,并将bind-address 密钥设置为控制器节点的管理IP地址,以允许其他节点通过管理网络进行访问。设置其他键以启用有用选项和UTF-8字符集:

    [mysqld]
    bind-address = 10.37.6.23
    
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8
systemctl enable mariadb.service
systemctl start mariadb.service
mysql_secure_installation(初始化数据库安装配置)root密码按上表规划为root

5、消息队列安装

消息队列在控制器节点上运行,所以在主控节点上安装即可

  1. 安装包:

    # yum install rabbitmq-server
    
  2. 启动消息队列服务并将其配置为在系统引导时启动:

    # systemctl enable rabbitmq-server.service
    # systemctl start rabbitmq-server.service
    
  3. 添加openstack用户:

    # rabbitmqctl add_user openstack openstack
    
    Creating user "openstack" ...
  4. 允许用户进行配置,写入和读取访问 openstack

    # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    
    Setting permissions for user "openstack" in vhost "/" ...
    
    

    5、打开rabbitmq的gui管理插件

          rabbitmq-plugins enable rabbitmq_management

   通过rabbitmq-plugins list查看插件打开情况,也可以通过netstat -ntlp查看,rabbitmq的管理插件会监听tcp端口15672

 使用账号guest/guest登陆

可以发现guest是rabbitmq的默认管理员账号,openstack是我们自己创建的用户,后面的组件安装配置时会使用这个账号。 

6、memcached安装

服务的身份服务身份验证机制使用Memcached来缓存令牌。memcached服务通常在控制器节点上运行。

openstack使用memcached就是为了提升keystone的效率,在令牌没有过期期间大量缓存令牌,服务间交互令牌不在需要从数据库中读取,大幅提升keystone的处理效率,降低数据库的压力。

  • 安装 yum install memcached python-memcached -y
  • 配置
vi /etc/sysconfig/memecached 
## modify
OPTION="-l 127.0.0.1,::1,controller"
复制代码
  • 启动服务
systemctl start memcached
systemctl enable memcached

7、etcd安装

OpenStack服务可以使用Etcd,一种分布式可靠的键值存储,用于分布式密钥锁定,存储配置,跟踪服务生存和其他场景,该服务只在控制节点安装。

  1. 安装包:

    # yum install etcd
    
  1. 编辑/etc/etcd/etcd.conf文件并设置ETCD_INITIAL_CLUSTER, ETCD_INITIAL_ADVERTISE_PEER_URLSETCD_ADVERTISE_CLIENT_URLS, ETCD_LISTEN_CLIENT_URLS控制器节点,以使经由管理网络通过其他节点的访问的管理IP地址:

    #[Member]
    ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
    ETCD_LISTEN_PEER_URLS="http://10.37.6.23:2380"
    ETCD_LISTEN_CLIENT_URLS="http://10.37.6.23:2379"
    ETCD_NAME="controller"
    #[Clustering]
    ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.37.6.23:2380"
    ETCD_ADVERTISE_CLIENT_URLS="http://10.37.6.23:2379"
    ETCD_INITIAL_CLUSTER="controller=http://10.37.6.23:2380"
    ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
    ETCD_INITIAL_CLUSTER_STATE="new"
  2. 注意etcd_name配置值要与ETCD_INITIAL_CLUSTER配置的主机名一致,否则etcd服务无法启动。
  • 启用并启动etcd服务:

    # systemctl enable etcd
    # systemctl start etcd

在控制节点上通过netstat -ntlp查看已经安装好的服务。tcp25672是消息队列rabbitmq的监听端口。

8、批量打开上面所安装服务需要打开的防火墙端口 

firewall-cmd --zone=internal --add-port=3306/tcp --permanent

firewall-cmd --zone=internal --add-port=5672/tcp --permanent

firewall-cmd  --add-port=15672/tcp --permanent

firewall-cmd --zone=internal --add-port=11211 --permanent

firewall-cmd --zone=internal --add-port=2379/tcp --permanent

firewall-cmd --zone=internal --add-port=2380/tcp --permanent

firewall-cmd  --add-port=5000/tcp --permanent

firewall-cmd --reload

总结:至此,由两个主机构成的openstack最小集群已经具备了安装openstack组件的条件,后面具体介绍如何最小化安装必要组件。 

### 安装 OpenStack Nova 组件 可以通过 `yum` 命令来安装 OpenStack Nova 的相关组件,具体命令如下: ```bash yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-scheduler openstack-nova-novncproxy ``` 此命令将会自动下载并安装所需的依赖项以及指定的服务组件[^1]。 --- ### 配置 OpenStack Nova 服务 完成安装后,需要对这些服务进行必要的配置。以下是主要步骤说明: #### 修改主配置文件 编辑 `/etc/nova/nova.conf` 文件以调整调度器的行为。例如,为了实现定期扫描计算节点的功能,可以在 `[scheduler]` 节下添加以下参数: ```ini [scheduler] discover_hosts_in_cells_interval = 300 ``` 这表示每隔 300 秒(即 5 分钟)扫描一次计算节点中的主机状态[^4]。 保存更改后重启 API 服务以使新配置生效: ```bash systemctl restart openstack-nova-api.service ``` --- ### 启动与设置开机自启 安装完成后,需手动启动各个 Nova 相关服务,并将其设为随系统启动而运行: ```bash systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy ``` 以上操作确保了所有核心服务正常运行并能够在下次系统启动时自动加载[^2]。 --- ### 创建管理接口端点 如果尚未创建 Nova 的管理员服务端点,则可通过以下命令完成初始化工作: ```bash openstack endpoint create --region RegionOne nova admin http://<control_node_ip>:8774/v2.1 ``` 其中 `<control_node_ip>` 应替换为实际的控制器节点 IP 地址。成功执行该命令后,将返回包含字段及其对应值的结果表单,确认端点已正确注册到 Keystone 中[^3]。 --- ### 总结 综上所述,通过 Yum 源安装 OpenStack Nova 组件的过程涉及以下几个方面: 1. 使用 `yum` 工具批量安装所需软件包; 2. 编辑配置文件优化功能选项; 3. 手动激活各子服务并将它们加入系统的引导序列; 4. 注册相应的访问入口至身份验证框架内。 按照上述指导即可顺利完成基础环境搭建任务。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值