Prerequisites
- Install
kubectl
(see here). Becausekustomize
was included intokubectl
and it’s used bycluster-api-provider-ibmcloud
in generating yaml files, so version1.14.0+
ofkubectl
is required, see integrate kustomize into kubectl for more info. - You can use either VM, container or existing Kubernetes cluster act as the bootstrap cluster.
- Install a driver if you are using minikube. For Linux, we recommend kvm2. For MacOS, we recommend VirtualBox.
- An appropriately configured Go development environment
- Install
clusterctl
tool (see here) - Install
pvsadm
tool (see here) - Install
capibmadm
tool (see here)
PowerVS Prerequisites
Create an IBM Cloud account.
If you don’t already have one, you need a paid IBM Cloud account to create your Power Systems Virtual Server instance. To create an account, go to: cloud.ibm.com.
Create an IBM Cloud account API key
Please refer to the following documentation to create an API key.
Create Power Systems Virtual Server Service Instance
After you have an active IBM Cloud account, you can create a Power Systems Virtual Server service. To do so, perform the following steps:
Note: If you are deploying a PowerVS cluster with infrastructure creation, you can diretly proceed to the step 2 of cluster creation here as creating network resources and importing boot images is not required.
Create Network
A public network is required for your kubernetes cluster. Perform the following steps to create a public network for the Power Systems Virtual Server service instance created in the previous step.
-
Create Public Network
~ export IBMCLOUD_API_KEY=<API_KEY> ~ capibmadm powervs network create --name capi-test --service-instance-id 3229a94c-af54-4212-bf60-6202b6fd0a07 --zone osa21
Output:
Creating PowerVS network service-instance-id="3229a94c-af54-4212-bf60-6202b6fd0a07" zone="osa21" Successfully created a network networkID="3ee5a1ca-19b4-48c7-a89d-44babdd18703"
Import the machine boot image:
$ export IBMCLOUD_API_KEY=<API_KEY>
$ capibmadm powervs image import --service-instance-id <SERVICE_INSTANCE_ID> --zone <ZONE> --bucket-region <BUCKET_REGION> --object <OBJECT> --name <POWERVS_IMAGE_NAME> --bucket <BUCKETNAME> --public-bucket
e.g:
$ capibmadm powervs image import --service-instance-id 3229a94c-af54-4212-bf60-6202b6fd0a07 --zone osa21 --bucket-region jp-tok --object RHEL9.0-image.ova.gz --name powervs_image --bucket ocp-development-public-bucket --public-bucket
For more information about the images can be found at machine-images section