Home - hypershift-on-power/hack GitHub Wiki

***** Outdated doc refer https://hypershift-docs.netlify.app/ for updated information *****

How to deploy hypershift on Power VS

Prereq

  • OCP cluster

  • Multi-arch release image

    • Images built by ART team: https://multi.ocp.releases.ci.openshift.org/#4.11.0-0.nightly-multi (latest images not available)

      • Latest available image, built on 2022-04-19 - quay.io/openshift-release-dev/ocp-release:4.11.0-0.nightly-multi-2022-04-19-151226
    • Images built internally for the internal(testing) purpose

      sys-powercloud-docker-local.artifactory.swg-devops.com/hypershift/ocp-release:4.11.0-0.nightly-2022-03-29-multi
      

      Note: Need an access to the https://na.artifactory.swg-devops.com to use these images, and also make sure you update the pull secret with docker config to access the images from the above Jfrog registry.

  • Pull secret

    • Add Jfrog repo auth info in pull-secret

      For that, need to generate API key in Jfrog portal and add repo and username, password details like below

      {"auths":{"sys-powercloud-docker-local.artifactory.swg-devops.com":{"password":<<API Key goes here>>,"username":<<username/email goes here>>}, ... }}
      

Steps to deploy hypershift cluster

  • Clone the code with powervs PR
    git clone -b powervs https://github.com/mkumatag/hypershift.git
  • Build the code
    cd hypershift; make build
    IMG=<registry/imagename:tag> make docker-build
    docker push <registry/imagename:tag>

    Note: <registry/imagename:tag> can be replaced with your own image e.g: quay.io/mkumatag/hypershift:0.1

  • Install the operator
    ./bin/hypershift install --development
  • Start the Operator
    ./bin/hypershift-operator run --control-plane-operator-image <registry/imagename:tag>
  • Set the IBM Cloud Api Key
    export IBMCLOUD_API_KEY=<API_KEY>
  • Generate the hosted cluster resource
    ./bin/hypershift create cluster powervs \
      --powervs-region <powervs_region> --powervs-zone <powervs_zone> \
      --resource-group <resource_group_name> --vpc-region <vpc-region> \
      --pull-secret <pull_secret> --base-domain <dns_base_domain> --render --node-pool-replicas=2 \
      --release-image <multi_arch_release_image> \
      --control-plane-operator-image <registry/imagename:tag> > cluster.yaml
    e.g:
    ./bin/hypershift create cluster powervs \
      --powervs-region eu-de --powervs-zone eu-de-2 \
      --resource-group hypershift-resource-group --vpc-region eu-de \
      --pull-secret ./pull_secret.txt --base-domain scnl-ibm.com --render --node-pool-replicas=2 \
      --release-image sys-powercloud-docker-local.artifactory.swg-devops.com/hypershift/ocp-release:4.11.0-0.nightly-2022-03-29-multi \
      --control-plane-operator-image quay.io/mkumatag/hypershift:0.1 > cluster.yaml

    Note: region zone mapping can be found here

  • Create the hosted cluster
    kubectl apply -f cluster.yaml
  • Destroy the cluster
    export IBMCLOUD_API_KEY=<API_KEY>
    ./bin/hypershift destroy cluster powervs --name <name>
    e.g:
    export IBMCLOUD_API_KEY=<API_KEY>
    ./bin/hypershift destroy cluster powervs --name example
⚠️ **GitHub.com Fallback** ⚠️