21.6. 载入内核模块
Red Hat OpenStack Platform (RHOSP)中的一些功能需要加载某些内核模块。例如,OVS 防火墙驱动程序要求您加载 nf_conntrack_proto_gre
内核模块来支持两个虚拟机实例之间的 GRE 隧道。
通过使用特殊的编排服务(heat)参数 ExtraKernelModules
,您可以确保 heat 存储有关 GRE 隧道等功能所需的内核模块的配置信息。之后,在常规模块管理过程中会加载这些所需的内核模块。
流程
在 undercloud 主机上,以 stack 用户身份登录,创建一个自定义 YAML 环境文件。
示例
$ vi /home/stack/templates/my-modules-environment.yaml
提示Heat 使用一组称为 template 的计划来安装和配置您的环境。您可以使用自定义环境文件 自定义 overcloud 的各个方面,它是为 heat 模板 提供自定义 的特殊模板类型。
在
parameter_defaults
下的 YAML 环境文件中,将ExtraKernelModules
设置为您要载入的模块的名称。示例
ComputeParameters: ExtraKernelModules: nf_conntrack_proto_gre: {} ControllerParameters: ExtraKernelModules: nf_conntrack_proto_gre: {}
运行
openstack overcloud deploy
命令,并包含核心 heat 模板、环境文件以及新的自定义环境文件。重要环境文件的顺序非常重要,因为后续环境文件中定义的参数和资源更为优先。
示例
$ openstack overcloud deploy --templates \ -e [your-environment-files] \ -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-modules-environment.yaml
验证
如果 heat 正确载入了该模块,您应该在 Compute 节点上运行
lsmod
命令时看到输出:示例
sudo lsmod | grep nf_conntrack_proto_gre
其他资源
- 自定义 Red Hat OpenStack Platform 部署 指南中的环境文件 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/17.1/html/customizing_your_red_hat_openstack_platform_deployment/assembly_configuring-the-overcloud-with-the-orchestration-service#con_environment-files_understanding-heat-templates
- 在自定义 Red Hat OpenStack Platform 部署 指南中的 overcloud 创建中包括环境文件