Your search did not match anything from Mirantis documentation.
Check your spelling or try different keywords.
An error occurred
An error occurred while using the search.
Try your search again or contact us to let us know about it.
25.2 series
25.1 and earlier versions
Mirantis Container Cloud (MCC) becomes part of Mirantis OpenStack for Kubernetes (MOSK)!
Now, the MOSK documentation set covers all product layers, including MOSK management (formerly Container Cloud). This means everything you need is in one place. Some legacy names may remain in the code and documentation and will be updated in future releases. The separate Container Cloud documentation site will be retired, so please update your bookmarks for continued easy access to the latest content.
This procedure is valid for MOSK clusters that use the deprecated
KaaSCephCluster custom resource (CR) instead of the MiraCeph CR that is
available since MOSK 25.2 as a new Ceph configuration entrypoint. For the
equivalent procedure with the MiraCeph CR, refer to the following section:
Once you enable Ceph Object Gateway (radosgw) as described in
Enable Ceph RGW Object Storage, you can configure the Transport Layer Security (TLS)
protocol for a Ceph Object Gateway public endpoint using the following options:
Using MOSK TLS, if it is enabled and exposes its
certificates and domain for Ceph.
In this case, Ceph Object Gateway will automatically create an ingress rule
with MOSK certificates and domain to access the Ceph
Object Gateway public endpoint.
Therefore, you only need to reach the Ceph Object Gateway public and internal
endpoints and set the CA certificates for a trusted TLS connection.
Using custom ingress specified in the KaaSCephCluster CR. In this
case, Ceph Object Gateway public endpoint will use the public domain
specified using the ingress parameters.
Caution
External Ceph Object Gateway service is not supported and will
be deleted during update. If your system already uses endpoints of an
external Ceph Object Gateway service, reconfigure them to the ingress
endpoints.
Caution
When using a custom or OpenStack ingress, ensure to configure
the DNS name for RGW to target an external IP address of that ingress.
If there is no OpenStack or custom ingress available, point the DNS to
an external load balancer of RGW.
Note
If the cluster has tls-proxy enabled, TLS certificates specified
in ingress objects, including those configured in the KaaSCephCluster
specification, are disregarded. Instead, common certificates are applied to
all ingresses from the OpenStackDeployment object. This implies that
tlsCert and other ingress certificates specified in KaaSCephCluster
are ignored, and the common certificate from the OpenStackDeployment
object is used.
This section also describes how to specify a custom public endpoint for the
Object Storage service.
To configure Ceph Object Gateway TLS:
Verify whether MOSK TLS is enabled. The
spec.features.ssl.public_endpoints section should be specified in the
OpenStackDeployment CR.
To generate an SSL certificate for internal usage, verify that the
gateway securePort parameter is specified in the KaasCephCluster CR.
For details, see Enable Ceph RGW Object Storage.
Select from the following options:
Configure TLS for Ceph Object Gateway using a custom
ingressConfig
TLS configuration for ingress including certificates. Contains the following
parameters:
cacert
The Certificate Authority (CA) certificate, used for the ingress rule
TLS support.
tlsCert
The TLS certificate, used for the ingress rule TLS support.
tlsKey
The TLS private key, used for the ingress rule TLS support.
publicDomain
Mandatory. The domain name to use for public endpoints.
Caution
The default ingress controller does not support publicDomain
values different from the OpenStack ingress public domain. Therefore,
if you intend to use the default OpenStack Ingress Controller for your
Ceph Object Storage public endpoint, plan to use the same public domain
as your OpenStack endpoints.
hostname
Custom name to override the Objectstore RGW name for public RGW access.
Public RGW endpoint has the https://<hostname>.<publicDomain> format.
tlsSecretRefName
Optional. Secret name with TLS certs on the MOSK cluster in the
rook-ceph namespace prepared by the operator. Allows avoiding exposure
of certs directly in spec. Must contain the following format:
When using tlsSecretRefName, remove the following
fields: cacert, tlsCert, and tlsKey.
Description of optional parameters in the ingressConfig section¶
controllerClassName
Name of the custom Ingress Controller. By default, the
openstack-ingress-nginx class name is specified and Ceph uses the
OpenStack Ingress Controller based on NGINX.
annotations
Extra annotations for the ingress proxy that are a key-value mapping of
strings to add or override ingress rule annotations. For details, see
NGINX Ingress Controller: Annotations.
By default, the following annotations are set:
nginx.ingress.kubernetes.io/rewrite-target is set to /
nginx.ingress.kubernetes.io/upstream-vhost is set to
<rgwName>.rook-ceph.svc
The value for <rgwName> is located in
spec.cephClusterSpec.objectStorage.rgw.name.
Optional annotations:
nginx.ingress.kubernetes.io/proxy-request-buffering:"off"
that disables buffering for ingress to prevent the
413 (Request Entity Too Large) error when uploading large
files using radosgw.
nginx.ingress.kubernetes.io/proxy-body-size:<size> that
increases the default uploading size limit to prevent the
413 (Request Entity Too Large) error when uploading large
files using radosgw. Set the value in MB (m) or KB
(k). For example, 100m.
Note
By default, an ingress rule is created with an internal
Ceph Object Gateway service endpoint as a backend. Also,
rgwdnsname is specified in the Ceph configuration and is set
to <rgwName>.rook-ceph.svc by default.
You can override rgwdnsname using the
spec.cephClusterSpec.rookConfig key-value parameter.
In this case, also change the corresponding ingress annotation.
Configuration example with the rgwdnsname override
For clouds with the publicDomain parameter specified, align the
upstream-vhost ingress annotation with the name of the Ceph
Object Storage and the specified public domain.
Ceph Object Storage requires the upstream-vhost and
rgwdnsname parameters to be equal. Therefore, override the
default rgwdnsname with the corresponding ingress annotation
value.
If MOSK TLS is enabled
Obtain the MOSK CA certificate for a trusted connection:
Obtain the internal endpoint name for Ceph Object Gateway:
kubectl-nrook-cephgetsvc-lapp=rook-ceph-rgw
The internal endpoint for Ceph Object Gateway has the
https://<internal-svc-name>.rook-ceph.svc:<rgw-secure-port>/
format, where <rgw-secure-port> is
spec.rgw.gateway.securePort specified in the
KaaSCephCluster CR.
Substitute <objectStorageName> with the Ceph Object Storage name and
<customPublicEndpoint> with the public endpoint with a custom public
domain.
If one or both endpoints are omitted in the list, add the missing
endpoints to the hostnames list in the zonegroup.json file and
update Ceph Object Gateway zonegroup configuration:
Once done, Ceph Object Gateway becomes available by the custom public endpoint
with an S3 API client, OpenStack Swift CLI, and OpenStack Horizon Containers
plugin.