2.4生产架构指南

生产架构指南

更新日期:2018-04-01 11:34

本指南将有助于配置Kolla以满足生产需求。 它旨在回答关于Kolla需要的基本配置选项的一些问题。 这个文件还包含其他有用的指针。

运行在它们上的节点类型和服务

Kolla的基本库存由几种类型的节点组成,在Ansible中称为groups

  • 控制 - 主控API和数据库等控制服务的云控制器节点。 该组应具有用于法定数量的奇数节点。
  • 网络 - 网络节点与haproxy / keepalived一起Neutron的代理。 这些节点将在kolla_internal_vip_address定义一个浮动ip。
  • 计算 - 计算服务的计算节点。 这是访客虚拟机所在的地方。
  • 存储 - 存储节点,用于cinder-volume,LVM或ceph-osd。
  • 监视 - 监视主持监视服务的节点。

网络配置

接口配置

Kolla运营商应该配置以下网络接口:

  • network_interface - 虽然它并未network_interface ,但它为以下其他接口提供了所需的默认值。
  • api_interface - 此接口用于管理网络。 管理网络是OpenStack服务用于相互通信和数据库的网络。 这里存在已知的安全风险,因此建议将此网络设为内部网络,而不能从外部访问。 默认为network_interface 。
  • kolla_external_vip_interface - 此接口是面向公众的接口。 当您希望HAProxy公共端点在不同于内部网络的网络中公开时使用。 当kolla_enable_tls_external设置为yes时,必须设置此选项。 默认为network_interface 。
  • storage_interface - 这是虚拟机用于与Ceph通信的接口。 这可以大量使用,因此建议将此网络放在10Gig网络上。 默认为network_interface 。
  • cluster_interface - 这是Ceph使用的另一个接口。 它用于数据复制。 它也可以被大量利用,如果它成为瓶颈,它会影响整个集群的数据一致性和性能。 默认为network_interface 。
  • tunnel_interface - 这个接口被Neutron用于通过隧道网络的vm-to-vm流量(如VxLan)。 默认为network_interface 。
  • neutron_external_interface - 这个接口是Neutron需要的。 中子将投入br-ex。 它将用于平面网络以及标记的VLAN网络。 必须单独设置。
  • dns_interface - 此接口是Designate和Bind9所必需的。 由公众面向DNS请求和查询来使用bind9并指定mDNS服务。 默认为network_interface 。
  • bifrost_network_interface - 此接口是Bifrost所必需的。 用于配置裸机云主机,需要与裸机云主机建立L2连接,以便为DHCP租赁提供PXE启动选项。 默认为network_interface 。

    警告

Ansible事实不能识别包含破折号的接口名称,例如br-exbond-0不能使用,因为ansible将分别读取它们作为br_exbond_0

Docker配置

由于Docker是Kolla的核心依赖,所以Docker的适当配置可以显着改变Kolla的体验。 以下部分将重点介绍与Kolla运营商相关的几个Docker配置细节。

存储驱动程序

在某些发行版中,Docker存储驱动程序默认为devicemapper,这可能会严重影响构建和部署的性能。 我们建议使用btrfs或aufs作为驱动程序。 有关在Docker文档中使用哪种存储驱动程序的更多详细信息。

Kolla将几乎所有持久数据放入Docker卷中。 这些卷是在Docker工作目录中创建的,该目录默认为/var/lib/docker目录。

我们建议确保该目录具有足够的空间并放置在快速磁盘上,因为它会影响构建,部署以及数据库提交和rabbitmq的性能。

enable_central_loggingopenstack_logging_debug都设置为true时,这会变得尤为重要,因为满载的130节点群集每天产生30-50GB的日志。

results matching ""

    No results matching ""