@@ -113,21 +113,27 @@ On each controller:
113
113
Some services may store data in a dedicated Docker volume, which can be removed
114
114
with ``docker volume rm ``.
115
115
116
- Installing and Updating TLS Certificates
117
- ----------------------------------------
116
+ Installing TLS Certificates
117
+ ---------------------------
118
118
119
119
|tls_setup |
120
120
121
- To configure TLS for the first time, we write a PEM file to the ``secrets.yml ``
122
- file as ``secrets_kolla_external_tls_cert ``. Use a command of this form:
121
+ To configure TLS for the first time, we write the contents of a PEM
122
+ file to the ``secrets.yml `` file as ``secrets_kolla_external_tls_cert ``.
123
+ Use a command of this form:
123
124
124
125
.. code-block :: console
125
126
:substitutions:
126
127
127
128
kayobe# ansible-vault edit ${KAYOBE_CONFIG_PATH}/secrets.yml --vault-password-file=|vault_password_file_path|
128
129
129
130
Concatenate the contents of the certificate and key files to create
130
- ``secrets_kolla_external_tls_cert ``.
131
+ ``secrets_kolla_external_tls_cert ``. The certificates should be installed in
132
+ this order:
133
+
134
+ * TLS certificate for the |project_name | OpenStack endpoint |public_endpoint_fqdn |
135
+ * Any intermediate certificates
136
+ * The TLS certificate private key
131
137
132
138
In ``${KAYOBE_CONFIG_PATH}/kolla.yml ``, set the following:
133
139
@@ -136,16 +142,43 @@ In ``${KAYOBE_CONFIG_PATH}/kolla.yml``, set the following:
136
142
kolla_enable_tls_external : True
137
143
kolla_external_tls_cert : " {{ secrets_kolla_external_tls_cert }}"
138
144
139
- To configure TLS, we need to reconfigure all services, as endpoint URLs need to
145
+ To apply TLS configuration , we need to reconfigure all services, as endpoint URLs need to
140
146
be updated in Keystone:
141
147
142
148
.. code-block :: console
143
149
144
150
kayobe# kayobe overcloud service reconfigure
145
151
152
+ Alternative Configuration
153
+ +++++++++++++++++++++++++
154
+
155
+ As an alternative to writing the certificates as a variable to
156
+ ``secrets.yml ``, it is also possible to write the same data to a file,
157
+ ``etc/kayobe/kolla/certificates/haproxy.pem ``. The file should be
158
+ vault-encrypted in the same manner as secrets.yml. In this instance,
159
+ variable ``kolla_external_tls_cert `` does not need to be defined.
160
+
161
+ See `Kolla-Ansible TLS guide
162
+ <https://docs.openstack.org/kolla-ansible/latest/admin/tls.html> `__ for
163
+ further details.
164
+
165
+ Updating TLS Certificates
166
+ -------------------------
167
+
168
+ Check the expiry date on an installed TLS certificate from a host that can
169
+ reach the |project_name | OpenStack APIs:
170
+
171
+ .. code-block :: console
172
+ :substitutions:
173
+
174
+ openstack# openssl s_client -connect |public_endpoint_fqdn|:443 2> /dev/null | openssl x509 -noout -dates
175
+
176
+ *NOTE *: Prometheus Blackbox monitoring can check certificates automatically
177
+ and alert when expiry is approaching.
178
+
146
179
To update an existing certificate, for example when it has reached expiration,
147
- change the value of ``secrets_kolla_external_tls_cert `` and run the following
148
- command:
180
+ change the value of ``secrets_kolla_external_tls_cert ``, in the same order as
181
+ above. Run the following command:
149
182
150
183
.. code-block :: console
151
184
0 commit comments