Create a managed cluster

Create a managed cluster

This section describes how to create a VMWare vSphere-based managed cluster using the Mirantis Container Cloud web UI of the vSphere-based management cluster.

Caution

The proxy support for the vSphere-based managed clusters is only partially integrated. Therefore, until the feature is announced as generally available, disregard the Proxies tab of the Container Cloud web UI for cluster creation to prevent deployment failures.

To create a vSphere-based managed cluster:

  1. Starting from Container Cloud 2.6.0, if a vSphere network has no DHCP server, and you have not configured release-controller during the vSphere management or regional cluster bootstrap:

    Caution

    The steps below apply only to the Container Cloud 2.6.0 deployments.

    1. Log in to a local machine where your management or regional cluster kubeconfig is located and export it:

      export KUBECONFIG=kaas-bootstrap/kubeconfig
      
    2. Edit the kaasrelease object by updating the release-controller chart and image version from 1.18.1 to 1.18.3:

      kubectl edit  kaasrelease kaas-2-6-0
      
      - chart: kaas-release/release-controller
        name: release-controller
        namespace: kaas
        values:
          image:
            tag: 1.18.3
        version: 1.18.3
      
    3. Verify that the release-controller deployment is ready with 3/3 replicas:

      kubectl get deployment release-controller-release-controller -n kaas -o=jsonpath='{.status.readyReplicas}/{.status.replicas}'
      
  2. Log in to the Container Cloud web UI with the writer permissions.

  3. Switch to the required project using the Switch Project action icon located on top of the main left-side navigation panel.

  4. In the SSH Keys tab, click Add SSH Key to upload the public SSH key that will be used for the vSphere VMs creation.

  5. In the Credentials tab:

    1. Click Add Credential to add your vSphere credentials. You can either upload your vSphere vsphere.yaml configuration file or fill in the fields manually.

    2. Verify that the new credentials status is Ready. If the status is Error, hover over the status to determine the reason of the issue.

  6. In the RHEL Licenses tab, click Add RHEL License and fill out the form with the following parameters:

    RHEL license parameters

    Parameter

    Description

    RHEL License Name

    RHEL license name

    Username

    User name to access the RHEL license

    Password

    Password to access the RHEL license

    Pool IDs

    Optional. Specify the pool IDs for RHEL licenses for Virtual Datacenters. Otherwise, Subscription Manager will select a subscription from the list of available and appropriate for the machines.

  7. In the Clusters tab, click Create Cluster and fill out the form with the following parameters as required:

    1. Configure general settings and Kubernetes parameters:

      Managed cluster configuration

      Section

      Parameter

      Description

      General Settings

      Name

      Cluster name

      Provider

      Select vSphere

      Provider Credential

      From the drop-down list, select the vSphere credentials name that you have previously added.

      Release Version

      Container Cloud version.

      Proxy Available since 2.5.0, Technology Preview

      Optional. Disregard this field since the feature is not fully integrated yet.

      SSH Keys

      From the drop-down list, select the SSH key name that you have previously added for SSH access to VMs.

      Provider

      LB Host IP

      IP address of the load balancer endpoint that will be used to access the Kubernetes API of the new cluster.

      LB Address Range

      MetalLB range of IP addresses that can be assigned to load balancers for Kubernetes Services.

      vSphere

      Machine Folder Path

      Full path to a folder that will store the cluster machines metadata.

      Network Path

      Full path to a network for cluster machines.

      Resource Pool Path

      Full path to a resource pool in which VMs will be created.

      Datastore For Cluster

      Full path to a storage for virtual machines disks.

      Datastore For Cloud Provider

      Full path to a storage for Kubernetes volumes.

      SCSI Controller Type

      SCSI controller type for virtual machines. Leave pvscsi as default.

      Enable IPAM Available since 2.6.0

      Enables IPAM. Set to true if a vSphere network has no DHCP server. Also, provide the following additional parameters for a proper network setup on machines using embedded IP address management (IPAM):

      Network CIDR

      CIDR of the provided vSphere network. For example, 10.20.0.0/16.

      Network Gateway

      Gateway of the provided vSphere network.

      DNS Name Servers

      List of nameservers for the provided vSphere network.

      Include Ranges

      IP range for the cluster machines. Specify the range of the provided CIDR. For example, 10.20.0.100-10.20.0.200.

      Exclude Ranges

      Optional. IP ranges to be excluded from being assigned to the cluster machines. The MetalLB range and the load balancer IP address should not intersect with the addresses for IPAM. For example, 10.20.0.150-10.20.0.170.

      Kubernetes

      Node CIDR

      Kubernetes nodes CIDR block. For example, 10.10.10.0/24.

      Services CIDR Blocks

      Kubernetes Services CIDR block. For example, 10.233.0.0/18.

      Pods CIDR Blocks

      Kubernetes pods CIDR block. For example, 10.233.64.0/18.

    2. Configure StackLight:

      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 managed cluster. For details, see Change a cluster configuration or Configure StackLight.

      Enable Logging

      Select to deploy the StackLight logging stack. For details about the logging components, see Reference Architecture: StackLight deployment architecture.

      HA Mode

      Select to enable StackLight monitoring in the HA mode. For the differences between HA and non-HA modes, see Reference Architecture: StackLight deployment architecture.

      Elasticsearch

      Retention Time

      The Elasticsearch logs retention period in Logstash.

      Persistent Volume Claim Size

      The Elasticsearch persistent volume claim size.

      Logs Severity Level Available since 2.6.0

      The severity level of logs to collect. For details about severity levels, see 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: Available 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.

  8. Click Create.

    To view the deployment status, verify the cluster status on the Clusters page. Once the orange blinking dot near the cluster name disappears, the deployment is complete.

  9. Proceed with Add a machine.