Chapter 8. Configuring Custom Certificates
8.1. Overview
Administrators can configure custom serving certificates for the public host names of the OpenShift Enterprise API and web console. This can be done during an advanced installation or configured after installation.
8.2. Configuring Custom Certificates with Ansible
During advanced installations, custom certificates can be configured using the openshift_master_named_certificates
and openshift_master_overwrite_named_certificates
parameters, which are configurable in the inventory file. More details are available about configuring custom certificates with Ansible.
Example 8.1. Example Custom Certificate Configuration with Ansible
# Configure custom named certificates # NOTE: openshift_master_named_certificates is cached on masters and is an # additive fact, meaning that each run with a different set of certificates # will add the newly provided certificates to the cached set of certificates. # # An optional CA may be specified for each named certificate. CAs will # be added to the OpenShift CA bundle which allows for the named # certificate to be served for internal cluster communication. # # If you would like openshift_master_named_certificates to be overwritten with # the provided value, specify openshift_master_overwrite_named_certificates. openshift_master_overwrite_named_certificates=true # # Provide local certificate paths which will be deployed to masters openshift_master_named_certificates=[{"certfile": "/path/on/host/to/custom1.crt", "keyfile": "/path/on/host/to/custom1.key", "cafile": "/path/on/host/to/custom-ca1.crt"}] # # Detected names may be overridden by specifying the "names" key #openshift_master_named_certificates=[{"certfile": "/path/on/host/to/custom1.crt", "keyfile": "/path/on/host/to/custom1.key", "names": ["public-master-host.com"], "cafile": "/path/on/host/to/custom-ca1.crt"}]
8.3. Configuring Custom Certificates
The namedCertificates
section may be listed in the servingInfo
and assetConfig.servingInfo
sections of the master configuration file or in the servingInfo
section of the node configuration file. Multiple certificates can be configured this way and each certificate may be associated with multiple host names or wildcards.
A default certificate must be configured in the servingInfo.certFile
and servingInfo.keyFile
configuration sections in addition to namedCertificates
.
The namedCertificates
section should only be configured for the host name associated with the masterPublicURL
, assetConfig.publicURL
, and oauthConfig.assetPublicURL
settings. Using a custom serving certificate for the host name associated with the masterURL
will result in TLS errors as infrastructure components will attempt to contact the master API using the internal masterURL
host.
Example 8.2. Custom Certificates Configuration
servingInfo: ... namedCertificates: - certFile: custom.crt keyFile: custom.key names: - "customhost.com" - "api.customhost.com" - "console.customhost.com" - certFile: wildcard.crt keyFile: wildcard.key names: - "*.wildcardhost.com" ...
Relative paths are resolved relative to the master configuration file. Restart the server to pick up the configuration changes.