Create a MOSK cluster¶
This section instructs you on how to configure and deploy a MOSK cluster that is based on a management cluster through the MOSK management console.
To create a MOSK cluster:
Applies to the management cluster. If you plan to deploy a large MOSK cluster, enable dynamic IP allocation to increase the amount of baremetal hosts to be provisioned in parallel. For details, see Enable dynamic IP allocation.
Optional. Technology Preview. Enable custom host names for cluster machines. When enabled, any machine host name in a particular region matches the related
Machineobject name. For example, instead of the defaultkaas-node-<UID>, a machine host name will bemaster-0. The custom naming format is more convenient and easier to operate with.For details, see Configure host names for cluster machines.
Skip this step if you enabled this feature during management cluster bootstrap, because custom host names will be automatically enabled on the related MOSK cluster as well.
Log in to the MOSK management console with the
writerpermissions.Switch to the required non-
defaultproject using the Switch Project action icon located on top of the main left-side navigation panel.Caution
Do not create a MOSK cluster in the
defaultproject (Kubernetes namespace), which is dedicated for the management cluster only. If no projects are defined, first create a newmoskproject as described in Create a project for MOSK clusters.In the SSH keys tab, click Add SSH Key to upload the public SSH key that will be used for the SSH access to VMs.
Optional. Enable proxy access to the MOSK cluster:
Proxy configuration
In the Proxies tab, configure proxy:
Click Add Proxy.
In the Add New Proxy wizard, fill out the form with the following parameters:
Proxy configuration¶ Parameter
Description
Proxy Name
Name of the proxy server to use during MOSK cluster creation.
HTTP Proxy
Add the HTTP proxy server domain name in the following format:
http://proxy.example.com:port- for anonymous accesshttp://user:password@proxy.example.com:port- for restricted access
HTTPS Proxy
Add the HTTPS proxy server domain name in the same format as for HTTP Proxy.
No Proxy
Comma-separated list of IP addresses or domain names.
For implementation details, see Proxy support and cache of artifacts.
If your proxy requires a trusted CA certificate, select the CA Certificate check box and paste a CA certificate for a MITM proxy to the corresponding field or upload a certificate using Upload Certificate.
Note
The possibility to use a MITM proxy with a CA certificate is available since MOSK 23.1.
For the list of Mirantis resources and IP addresses to be accessible from MOSK clusters, see Reference Architecture: Requirements.
In the Clusters tab, click Create Cluster.
Configure the new cluster in the Create New Cluster wizard that opens:
Define general and Kubernetes parameters:
Create new cluster: General, Provider, and Kubernetes¶ Section
Parameter name
Description
General settings
Cluster name
The cluster name.
Provider
Select Baremetal.
Release version
Select a version with the OpenStack label tag. Otherwise, you will not be able to deploy MOSK on this cluster.
Proxy
Optional. From the drop-down list, select the proxy server name that you have previously created.
SSH keys
From the drop-down list, select the SSH key name that you have previously added for SSH access to the bare metal hosts.
Container Registry
From the drop-down list, select the Docker registry name that you have previously added using the Container Registries tab. For details, see Define a custom CA certificate for a private Docker registry.
Enable WireGuard
Optional. Technology Preview. Enable WireGuard for traffic encryption on the Kubernetes workloads network.
WireGuard configuration
Ensure that the Calico MTU size is at least 60 bytes smaller than the interface MTU size of the workload network. IPv4 WireGuard uses a 60-byte header. For details, see Set the MTU size for Calico.
Enable WireGuard by selecting the Enable WireGuard check box.
Caution
Changing this parameter on a running cluster causes a downtime that can vary depending on the cluster size.
For more details about WireGuard, see Calico documentation: Encrypt in-cluster pod traffic.
Parallel Upgrade Of Worker Machines
Optional. .. include:: /./common/ops/parallel-upg-def-ui.rst
You can also configure this option after deployment before the cluster update.
Parallel Preparation For Upgrade Of Worker Machines
Optional. .. include:: /./common/ops/parallel-upg-prep-ui.rst
You can also configure this option after deployment before the cluster update.
Provider
LB host IP
The IP address of the load balancer endpoint that will be used to access the Kubernetes API of the new cluster. This IP address must be located in the API/LCM or external network for ARP announcement and in the LCM or external network for BGP announcement.
See Underlay networking: routing configuration for details.
Kubernetes
Services CIDR blocks
The Kubernetes Services CIDR blocks. For example,
10.233.0.0/18.Pods CIDR blocks
The Kubernetes pods CIDR blocks. For example,
10.233.64.0/18.Note
The network subnet size of Kubernetes pods influences the number of nodes that can be deployed in the cluster.
The default subnet size
/18is enough to create a cluster with up to 256 nodes. Each node uses the/26address blocks (64 addresses), at least one address block is allocated per node. These addresses are used by the Kubernetes pods withhostNetwork: false. The cluster size may be limited further when some nodes use more than one address block.Configure StackLight:
Note
If StackLight is enabled in non-HA mode but Ceph is not deployed yet, StackLight will not be installed and will be stuck in the
Yellowstate waiting for a successful Ceph installation. Once the Ceph cluster is deployed, the StackLight installation resumes. To deploy a Ceph cluster, refer to Add a Ceph cluster using CephDeployment.StackLight configuration
Section
Parameter name
Description
StackLight
Enable Monitoring
Selected by default. Deselect to skip StackLight deployment.
Note
You can also enable, disable, or configure StackLight parameters after deploying a MOSK cluster. For details, see Change a cluster configuration and StackLight configuration procedure.
Enable Logging
Select to deploy the StackLight logging stack. For details about the logging components, see Deployment architecture.
Note
The logging mechanism performance depends on the cluster log load. In case of a high load, you may need to increase the default resource requests and limits for
fluentdLogs. For details, see StackLight resource limits.HA Mode
Select to enable StackLight monitoring in High Availability (HA) mode. For differences between HA and non-HA modes, see Deployment architecture. If disabled, StackLight requires a Ceph cluster. To deploy a Ceph cluster, refer to Add a Ceph cluster using CephDeployment.
StackLight Default Logs Severity Level
Log severity (verbosity) level for all StackLight components. The default value for this parameter is Default component log level that respects original defaults of each StackLight component. For details about severity levels, see StackLight log verbosity.
StackLight Component Logs Severity Level
The severity level of logs for a specific StackLight component that overrides the value of the StackLight Default Logs Severity Level parameter. For details about severity levels, see StackLight log verbosity. Expand the drop-down menu for a specific component to display its list of available log levels.
Events Retention Time
Available if you select Enable Logging. Specifies the
kubernetes_events-*index retention time.Notifications Retention Time
Available if you select Enable Logging. Specifies the
notification-*index retention time.Persistent Volume Claim Size
Available if you select Enable Logging. The OpenSearch persistent volume claim size.
Collected Logs Severity Level
Available if you select Enable Logging. The minimum severity of all MOSK components logs collected in OpenSearch. For details about severity levels, see StackLight logging.
Prometheus
Retention Time
The Prometheus database retention period.
Retention Size
The Prometheus database retention size.
Persistent Volume Claim Size
The Prometheus persistent volume claim size.
Enable Watchdog Alert
Select to enable the Watchdog alert that fires as long as the entire alerting pipeline is functional.
Custom Alerts
Specify alerting rules for new custom alerts or upload a YAML file in the following exemplary format:
- alert: HighErrorRate expr: job:request_latency_seconds:mean5m{job="myjob"} > 0.5 for: 10m labels: severity: page annotations: summary: High request latency
For details, see Official Prometheus documentation: Alerting rules. For the list of the predefined StackLight alerts, see Operations Guide: StackLight alerts.
StackLight Email Alerts
Enable Email Alerts
Select to enable the StackLight email alerts.
Send Resolved
Select to enable notifications about resolved StackLight alerts.
Require TLS
Select to enable transmitting emails through TLS.
Email alerts configuration for StackLight
Fill out the following email alerts parameters as required:
To - the email address to send notifications to.
From - the sender address.
SmartHost - the SMTP host through which the emails are sent.
Authentication username - the SMTP user name.
Authentication password - the SMTP password.
Authentication identity - the SMTP identity.
Authentication secret - the SMTP secret.
StackLight Slack Alerts
Enable Slack alerts
Select to enable the StackLight Slack alerts.
Send Resolved
Select to enable notifications about resolved StackLight alerts.
Slack alerts configuration for StackLight
Fill out the following Slack alerts parameters as required:
API URL - The Slack webhook URL.
Channel - The channel to send notifications to, for example, #channel-for-alerts.
Click Create.
To monitor cluster readiness, see Verify cluster status.
Optional. Technology Preview. Colocate the OpenStack control plane with the MOSK cluster Kubernetes manager nodes by adding the following field to the
Clusterobject spec:spec: providerSpec: value: dedicatedControlPlane: false
Optional. Customize MetalLB speakers that are deployed on all Kubernetes nodes except master nodes by default. For details, see Configure node selectors for MetalLB speakers.
Configure the MetalLB parameters related to IP address allocation and announcement for load-balanced cluster services. For details, see Configure and verify MetalLB.
Proceed to Obtain and use details about network interfaces.
Note
Once you have created a MOSK cluster, some StackLight alerts may raise as false-positive until you deploy the Mirantis OpenStack environment.