Skip to content

Upgrading Mirantis k0rdent Enterprise#

Upgrading Mirantis k0rdent Enterprise involves making upgrades to the Management object. To do that, you must have the Global Admin role. (For detailed information about Mirantis k0rdent Enterprise RBAC roles and permissions, refer to the RBAC documentation.) Follow these steps to upgrade Mirantis k0rdent Enterprise:

  1. Create a new Release object

    Start by creating a Release object in the management cluster that points to the desired version. You can get Release object for the current version from the following URL: https://get.mirantis.com/k0rdent-enterprise/1.0.0/release.yaml

    For example, this Release object looks like this:

    apiVersion: k0rdent.mirantis.com/v1alpha1
    kind: Release
    metadata:
      name: k0rdent-enterprise-1-0-0
      annotations:
        helm.sh/resource-policy: keep
    spec:
      version: 1.0.0
      kcm:
        template: k0rdent-enterprise-1-0-0
      capi:
        template: cluster-api-1-0-0
      providers:
        - name: cluster-api-provider-k0sproject-k0smotron
          template: cluster-api-provider-k0sproject-k0smotron-1-0-2
        - name: cluster-api-provider-azure
          template: cluster-api-provider-azure-1-0-1
        - name: cluster-api-provider-vsphere
          template: cluster-api-provider-vsphere-1-0-0
        - name: cluster-api-provider-aws
          template: cluster-api-provider-aws-1-0-0
        - name: cluster-api-provider-openstack
          template: cluster-api-provider-openstack-1-0-1
        - name: cluster-api-provider-docker
          template: cluster-api-provider-docker-1-0-0
        - name: cluster-api-provider-gcp
          template: cluster-api-provider-gcp-1-0-0
        - name: cluster-api-provider-ipam
          template: cluster-api-provider-ipam-1-0-0
        - name: cluster-api-provider-infoblox
          template: cluster-api-provider-infoblox-1-0-0
        - name: projectsveltos
          template: projectsveltos-0-54-4
    

    Thankfully, you don't have to build these YAML files yourself. Once you've chosen a release, you can go ahead and create the release object by referencing the YAML file online, as in:

    kubectl create -f https://get.mirantis.com/k0rdent-enterprise/1.0.0/release.yaml
    
    release.k0rdent.mirantis.com/k0rdent-enterprise-1-0-0 created
    

  2. List Available Releases

    Once you've created the new Release you need to update the Management object to use it. Start by viewing all available Releases:

    kubectl get releases
    
    NAME        AGE
    kcm-0-0-6   71m
    kcm-0-0-7   65m
    kcm-0-1-0   6d9h
    k0rdent-enterprise-1-0-0   12m
    
  3. Patch the Management object with the new Release

    Update the spec.release field in the Management object to point to the new release. Replace <release-name> with the name of your desired release:

    RELEASE_NAME=k0rdent-enterprise-1-0-0
    kubectl patch managements.k0rdent.mirantis.com kcm --patch "{\"spec\":{\"release\":\"${RELEASE_NAME}\"}}" --type=merge
    
  4. Verify the Upgrade

    Although the change will be made immediately, it will take some time for Mirantis k0rdent Enterprise to update the components it should be using. Monitor the readiness of the Management object to ensure the upgrade was successful. For example:

    kubectl get managements.k0rdent.mirantis.com kcm
    
    NAME   READY   RELEASE     AGE
    kcm    True    k0rdent-enterprise-1-0-0   4m34s