3.3. 为网络驱动程序设置自定义配置
您可以使用 OpenStackControlPlane 自定义资源定义(CRD) extraMounts 功能向 openstack-neutron 网络服务提供文件。例如,如果合作伙伴的 openstack-neutron 驱动程序需要额外配置文件,其中包含身份验证凭据,以启用对合作伙伴的后端网络设备的访问权限。您可以将文件内容存储在 Kubernetes secret 中,该 secret 可以从 YAML 文件创建:
apiVersion: v1
kind: Secret
metadata:
name: cinder-volume-example-config
type: Opaque
stringData:
partner_config.ini: |
example_credentials=example
以下示例显示了 OpenStackControlPlane CR 的 neutron 部分中的 extraMounts 条目,用于将 config.ini 挂载到 neutron-server pod。
apiVersion: core.openstack.org/v1beta1
kind: OpenStackControlPlane
metadata:
name: openstack
spec:
neutron:
template:
databaseAccount: neutron
databaseInstance: openstack
memcachedInstance: memcached
networkAttachments:
- internalapi
passwordSelectors:
service: NeutronPassword
rabbitMqClusterName: rabbitmq
replicas: 1
secret: osp-secret
serviceUser: neutron
ml2MechanismDrivers:
- partner-mech-driver
customServiceConfig: |
[example]
foo=bar
extraMounts:
- extraVol:
- mounts:
- name: partner-config
mountPath: /etc/neutron/neutron.conf.d/partner_config.ini
subPath: partner_config.ini
readOnly: true
volumes:
- name: partner-config
secret:
secretName: neutron-server-partnerX-config
- 1
- 在合作伙伴的网络驱动程序与 ML2 网络 集成的部署中,您可以使用自定义机制驱动程序配置其他机制驱动程序。
- 2
- 使用本节设置合作伙伴驱动程序的
neutron-server配置。您可以使用本节在 CR 中提供自定义配置。您应该使用机密来提供凭据等信息。请注意,secret 默认存储在 Kubernetes API 服务器中。如需有关 Kubernetes secret 的更多信息,请参阅 kubernetes 文档。 - 3
- 使用本节为
OpenStackControlPlane的 neutron 部分设置extraMounts配置。 - 4
- 使用本节设置在
neutron-server pod中显示的partner_config.ini文件的挂载点。 - 5
- 使用本节将
subPath设置为指定partner_config.ini文件名。这是在/etc/neutron/neutron.conf.d目录中挂载单个文件所必需的。 - 6
secretName值与之前创建的 secret 的名称匹配。