第 4 章 配置一体化 Red Hat OpenStack Platform 环境
要创建一体化 Red Hat OpenStack Platform 环境,请使用 openstack tripleo deploy 命令包括四个环境文件。您必须创建两个配置文件,如下所示:
- $HOME/containers-prepare-parameters.yaml
- $HOME/standalone_parameters.yaml
更多信息请参阅 第 4.1 节 “为 all-in-one Red Hat OpenStack Platform (RHOSP)环境生成 YAML 文件”。
在 /usr/share/openstack-tripleo-heat-templates/ 目录中为您提供了两个环境文件:
- /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml
- /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml
您可以自定义用于开发或测试的一体化环境。在主目录中新创建的 yaml 文件中的 standalone-tripleo.yaml 或 Standalone.yaml 配置文件中包括参数的修改值。将此文件包含在 openstack tripleo deploy 命令中。
要生成 containers-prepare-parameters.yaml 和 standalone_parameters.yaml 文件,请完成以下步骤:
生成包含默认
ContainerImagePrepare参数的containers-prepare-parameters.yaml文件:[stack@all-in-one]$ openstack tripleo container image prepare default --output-env-file $HOME/containers-prepare-parameters.yaml编辑
containers-prepare-parameters.yaml文件,在ContainerImageRegistryCredentials参数中包含您的红帽凭证,以便部署过程可以通过 registry.redhat.io 进行身份验证,并成功拉取容器镜像:parameter_defaults: ContainerImagePrepare: ... ContainerImageRegistryCredentials: registry.redhat.io: <USERNAME>: "<PASSWORD>"注意为了避免以纯文本形式输入密码,请创建一个 Red Hat Service Account。如需更多信息,请参阅 Red Hat Container Registry 身份验证 :
在
containers-prepare-parameters.yaml中将ContainerImageRegistryLogin参数设置为true:parameter_defaults: ContainerImagePrepare: ... ContainerImageRegistryCredentials: registry.redhat.io: <USERNAME>: "<PASSWORD>" ContainerImageRegistryLogin: true如果要使用 all-in-one 主机作为容器 registry,请在
openstack tripleo container image prepare命令中省略此参数和 include--local-push-destination。如需更多信息,请参阅 准备容器镜像。创建
$HOME/standalone_parameters.yaml文件,并为 all-in-one RHOSP 环境配置基本参数,包括网络配置和一些部署选项。在本例中,网络接口eth1是用于部署 RHOSP 的管理网络上的接口。eth1具有 IP 地址 192.168.25.2:[stack@all-in-one]$ export IP=192.168.25.2 [stack@all-in-one]$ export VIP=192.168.25.3 [stack@all-in-one]$ export NETMASK=24 [stack@all-in-one]$ export INTERFACE=eth1 [stack@all-in-one]$ export DNS1=1.1.1.1 [stack@all-in-one]$ export DNS2=8.8.8.8 [stack@all-in-one]$ cat <<EOF > $HOME/standalone_parameters.yaml parameter_defaults: CloudName: $IP CloudDomain: localdomain ControlPlaneStaticRoutes: [] Debug: true DeploymentUser: $USER KernelIpNonLocalBind: 1 DockerInsecureRegistryAddress: - $IP:8787 NeutronPublicInterface: $INTERFACE NeutronDnsDomain: localdomain NeutronBridgeMappings: datacentre:br-ctlplane NeutronPhysicalBridge: br-ctlplane StandaloneEnableRoutedNetworks: false StandaloneHomeDir: $HOME StandaloneLocalMtu: 1500 EOF如果只使用一个网络接口,则必须定义默认路由:
ControlPlaneStaticRoutes: - ip_netmask: 0.0.0.0/0 next_hop: $GATEWAY default: true如果您有内部时间源,或者您的环境阻止访问外部时间源,请使用
NtpServer参数定义您要使用的时间源:parameter_defaults: NtpServer: - clock.example.com如果要在虚拟环境中使用 all-in-one RHOSP 安装,则必须使用
NovaComputeLibvirtType参数定义虚拟化类型:parameter_defaults: NovaComputeLibvirtType: qemu负载均衡服务(octavia)不需要配置 SSH。但是,如果您想要 SSH 访问负载均衡实例(amphorae),请添加
OctaviaAmphoraSshKeyFile参数,其中包含到 stack 用户的公钥文件的绝对路径:OctaviaAmphoraSshKeyFile: "/home/stack/.ssh/id_rsa.pub"