美文网首页openstack
在CentOS 7上安装单节点OpenStack

在CentOS 7上安装单节点OpenStack

作者: 开心人开发世界 | 来源:发表于2019-07-14 10:29 被阅读0次

    文章只是转载,因为版本老了就没有测试。

    OpenStack是一个免费的开源软件平台,为公共云和私有云提供IaaS(基础架构即服务)。

    OpenStack平台由几个相互关联的项目组成,这些项目控制数据中心的硬件,存储和网络资源,例如:计算,图像服务,块存储,身份服务,网络,对象存储,遥测,编排和数据库。

    虽然OpenStack的核心功能是提供IaaS平台,但它被用作DBaaS(数据库即服务),构建Hadoop集群,(容器编排)Container orchestration等等。可以通过基于Web的界面或在OpenStack命令行的帮助下管理这些组件。

    本教程将向您展示如何使用rdo存储库在单个节点上安装OpenStack来部署您自己的私有云基础架构,尽管可以在多个节点上实现部署。我们将使用CentOS 7 在阿里云弹性计算服务(ECS)实例上部署此服务。

    1. Hostname = openstack.example.com
    2. IP address= 192.168.1.40
    3. netmask = 255.255.255.0
    4. Gateway = 192.168.1.1
    5. DNS = 192.168.1.254

    先决条件

    1. 您必须激活阿里云弹性计算服务(ECS)并验证您的有效付款方式。如果您是新用户,则可以在阿里云帐户中获得免费帐户。如果您不知道如何设置ECS实例,可以参考本教程快速入门指南
    2. 您应该设置服务器的主机名。
    3. 访问安装在PC中的阿里云或SSH客户端中的VNC控制台。

    完成先决条件后,通过SSH客户端(例如Putty)或您的阿里云帐户信息中心提供的VNC控制台以root用户名和密码以root用户身份登录。

    确保您的系统至少有16GB的RAM和一个支持VT的处理器。使用以下命令检查VT支持。

    egrep --color 'vmx|svm' /proc/cpuinfo | wc –l
    

    输出:(不应该为零)

    2
    

    初始系统配置

    1. 在开始准备节点以部署自己的虚拟云基础架构之前,首先使用root帐户登录并确保系统是最新的。
    2. 确保您的机器在机器上安装了最新版本的CentOS 7。
    • yum -y update
    1. 接下来,发出ss -tulpn命令以列出所有正在运行的服务。
    • Ss -tulpn

    现在识别不必要的服务,停止,禁用和删除它们。主要是Postfix,NetworkManager和Firewalld。在那之后,在你的linux机器上运行的唯一服务应该只是sshd。

    # systemctl stop postfix firewalld NetworkManager
     # systemctl disable postfix firewalld NetworkManager
     # systemctl mask NetworkManager
     # yum remove postfix NetworkManager NetworkManager-libnm```
    

    通过执行以下命令永久禁用Linux机器上的Selinux策略。同时编辑/etc/selinux /config文件并将SELINUX从强制修改为禁用,如下图所示。

    # setenforce 0
     # getenforce
     # vi /etc/selinux/config
    

    在下一步中使用hostnamectl命令设置Linux系统主机名。相应地替换FQDN变量。

    # hostnamectl set-hostname cloud.centos.lan
    

    最后,安装ntpdate以便与NTP服务器同步时间。

    # yum install ntpdate
    

    在CentOS和RHEL中安装OpenStack

    借助rdo repository(OpenStack的RPM Distribution)提供的PackStack软件包,OpenStack将部署在您的Node上。

    为了在RHEL 7上启用rdo存储库,请运行以下命令。

    # yum install [https://www.rdoproject.org/repos/rdo-release.rpm](https://www.rdoproject.org/repos/rdo-release.rpm)
    

    在CentOS 7上,Extras存储库包含激活OpenStack存储库的RPM。已启用Extras,因此您可以轻松安装RPM以设置OpenStack存储库:

    # yum install -y centos-release-openstack-mitaka
     # yum update –y
    

    让我们使用以下命令在您的Linux机器上安装Packstat软件包:

    # yum install  openstack-packstack
    

    在下一步中,为Packstack生成一个具有默认配置的应答文件,稍后将使用所需参数对其进行编辑,以便部署Openstack(单节点)的独立安装。

    该文件将在生成的当天时间戳(日,月和年)之后命名。

    # packstack --gen-answer-file='date +"%d.%m.%y"'.conf
     # ls
    

    现在使用您喜欢的文本编辑器编辑答案文件。

    vi 26.07.18.conf
    

    并替换以下参数以匹配以下值。为了安全起见,请相应地更换密码字段。

    CONFIG_NTP_SERVERS=0.ro.pool.ntp.org
    
    CONFIG_PROVISION_DEMO=n
    
    CONFIG_KEYSTONE_ADMIN_PW=your_password  for Admin user
    
    image.png

    通过HTTP启用SSL访问OpenStack仪表板。

    CONFIG_HORIZON_SSL=y
    

    MySQL服务器的root密码。

    CONFIG_MARIADB_PW=mypassword1234
    

    完成编辑后保存并关闭文件。此外,打开SSH服务器配置文件并通过删除前面的主题标签取消注释PermitRootLogin行,如下面的屏幕截图所示。

    # vi /etc/ssh/sshd_config
    

    然后重新启动SSH服务以反映更改。

    # systemctl restart sshd
    

    使用Packstack应答文件启动Openstack安装

    最后通过运行以下命令语法,通过上面编辑的答案文件启动Openstack安装过程:

    # packstack --answer-file 13.04.16.conf
    

    成功完成OpenStack组件的安装后,安装程序将显示几行,其中包含OpenStack和Nagios的本地仪表板链接以及上面已配置的所需凭据,以便在两个面板上登录。

    凭据也存储在keystonerc_admin文件中的主目录下。

    如果由于某些原因安装过程因httpd服务错误而结束,请打开/etc/httpd/conf.d/ssl.conf文件,并确保您注释以下行,如下图所示。

    #Listen 443 https
    

    然后重新启动Apache守护程序以应用更改。

    # systemctl restart httpd.service
    

    注意:如果您仍然无法在端口443上浏览Openstack Web面板,请从开始时使用为初始部署发出的相同命令重新启动安装过程。

    # packstack --answer-file /root/26.07.18.conf
    

    远程访问OpenStack仪表板

    要从LAN中的远程主机访问OpenStack Web面板,请通过HTTPS协议导航到计算机IP地址或FQDN /仪表板。

    由于您使用的是由不受信任的证书颁发机构颁发的自签名证书,因此您的浏览器上应显示错误。

    接受错误并使用上面设置的答案文件中的CONFIG_KEYSTONE_ADMIN_PW参数设置的用户admin和密码登录仪表板。

    [https://192.168.1.40/dashboard](https://192.168.1.40/dashboard)
    

    或者,如果您选择为OpenStack安装Nagios组件,则可以使用以下URI浏览Nagios Web面板,并使用答案文件中的凭据设置进行登录。

    [https://192.168.1.40/nagios](https://192.168.1.40/nagios)
    
    image.png

    组态

    OpenStack是一组开源项目组件,可用于设置云服务。每个组件使用类似的配置技术和INI文件选项的通用框架。

    本指南汇总了以下OpenStack组件的多个引用和配置选项:

    1. Bare Metal service
    2. Block Storage service
    3. Compute service
    4. Dashboard
    5. Database service
    6. Data Processing service
    7. Identity service
    8. Image service
    9. Message service
      10, Networking service
    10. Object Storage service
    11. Orchestration service
    12. Shared File Systems service
    13. Telemetry service

    OpenStack使用INI文件格式来配置文件。INI文件是一个简单的文本文件,它将选项指定为键=值对,分组为多个部分。DEFAULT部分包含大多数配置选项。以井号(#)开头的行是注释行。例如:

    [DEFAULT]
     # Print debugging output (set logging level to DEBUG instead
     # of default WARNING level). (boolean value)
     debug = true
     [database]
     # The SQLAlchemy connection string used to connect to the
     # database (string value)
     connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
    

    选项可以具有不同的值类型。示例配置文件中的注释总是提到这些,并且表中提到Opt值作为第一项,如(BoolOpt)Toggle .... OpenStack使用以下类型:

    boolean value (BoolOpt)

    启用或禁用选项。允许的值为true和false。

    # Enable the experimental use of database reconnect on
     # connection lost (boolean value)
     use_db_reconnect = false
    

    浮点值(FloatOpt)

    浮点数,如0.25或1000。

    # Sleep time in seconds for polling an ongoing async task
     # (floating point value)
     task_poll_interval = 0.5
    

    整数值(IntOpt)

    整数是没有小数分量的数字,如0或42。

    # The port which the OpenStack Compute service listens on.
     # (integer value)
     compute_port = 8774
    

    IP地址(IPOpt)

    IPv4或IPv6地址。

    # Address to bind the server. Useful when selecting a particular network
     # interface. (ip address value)
     bind_host = 0.0.0.0
    

    键值对(DictOpt)

    键值对,也称为dictonary。键值对用逗号分隔,冒号用于分隔键和值。示例:key1:value1,key2:value2。

    # Parameter for l2_l3 workflow setup. (dict value)
     l2_l3_setup_params = data_ip_address:192.168.200.99, \
       data_ip_mask:255.255.255.0,data_port:1,gateway:192.168.200.1,ha_port:2
    

    列表值(ListOpt)

    表示其他类型的值,以逗号分隔。例如,以下将allowed_rpc_exception_modules设置为包含oslo.messaging.exceptions,nova.exception,cinder.exception和exception四个元素的列表:

    # Modules of exceptions that are permitted to be recreated
     # upon receiving exception data from an rpc call. (list value)
     allowed_rpc_exception_modules = oslo.messaging.exceptions,nova.exception
    

    多值(MultiStrOpt)

    多值选项是字符串值,可以多次给出,将使用所有值。

    # Driver or drivers to handle sending notifications. (multi valued)
     notification_driver = nova.openstack.common.notifier.rpc_notifier
     notification_driver = ceilometer.compute.nova_notifier
    

    端口值(PortOpt)

    TCP / IP端口号。端口范围为1到65535。

    # Port to which the UDP socket is bound. (port value)
     # Minimum value: 1
     # Maximum value: 65535
     udp_port = 4952
    

    字符串值(StrOpt)

    字符串可以选择用单引号或双引号括起来。

    # Enables or disables publication of error events. (boolean value)
     publish_errors = false
     # The format for an instance that is passed with the log message.
     # (string value)
     instance_format = "[instance: %(uuid)s] "
    

    Sections

    配置选项按部分分组。大多数配置文件至少支持以下部分:

    [DEFAULT]

    包含大多数配置选项。如果配置选项的文档未指定其部分,请假定它出现在此部分中。

    [database]

    存储OpenStack服务状态的数据库的配置选项。

    Substitution(代换)

    配置文件支持变量替换。设置配置选项后,如果在其前面加上,如 OPTION,则可以在以后的配置值中引用它。

    以下示例使用rabbit_host和rabbit_port的值来定义rabbit_hosts选项的值,在本例中为controller:5672。

    # The RabbitMQ broker address where a single node is used.
     # (string value)
     rabbit_host = controller
     # The RabbitMQ broker port where a single node is used.
     # (integer value)
     rabbit_port = 5672
     # RabbitMQ HA cluster host:port pairs. (list value)
     rabbit_hosts = $rabbit_host:$rabbit_port
    

    为避免替换,请使用

    $$,它被一个取代。例如,如果您的LDAP DNS密码是xkj432,请指定它,如下所示:

    ldap_dns_password = 
    $$
    xkj432
    

    代码使用Python字符串。Template.safe_substitute()方法实现变量替换。有关如何解决变量替换的更多详细信息。

    空格

    要在配置值中包含空格,请使用带引号的字符串。例如:

    ldap_dns_passsword='a password with spaces'
    

    定义配置文件的备用位置

    大多数服务和-manage命令行客户端都会加载配置文件。要为配置文件定义备用位置,请在启动服务或调用 -manage命令时传递-config -file CONFIG_FILE参数

    结论

    我们在Red Hat,CentOS和Fedora Linux上演示了OpenStack安装。现在,您可以使用OpenStack轻松地在阿里巴巴云弹性计算服务(ECS)上设置自己的私有云环境。

    参考:https//www.alibabacloud.com/blog/how-to-install-single-node-openstack-on-centos-7_594048?spm=a2c41.12117054.0.0

    相关文章

      网友评论

        本文标题:在CentOS 7上安装单节点OpenStack

        本文链接:https://www.haomeiwen.com/subject/wgqvkctx.html