IBM Cloud
These are the required steps for you to successfully create a Kubernetes service on your own IBM Cloud account.
Prerequisites
Components you will need to create in your account
- Kubernetes Service (IBM Cloud Console)
- Create a Storage Class (Command Line Interface with IBM's Tutorial)
- Service Account (Command Line Interface)
Step by step tutorial
Create your Kubernetes Service
Sign in to your IBM Cloud account and create a new Cluster.
These are the minimum specifications we recommend for an IBM Cloud Kuberentes Cluster.
Gain access to your cluster
After a few minutes, your cluster must be ready. Go to the Access tab and follow the instructions to gain access to your cluster.
Setup your Forma Cluster
After you followed the steps in the Access tab you will be able to retrieve the Connection certificate content which will be asked by Forma to access the cluster. In the same console where you followed the previous steps run:
cat /Users/$USER/.bluemix/plugins/container-service/clusters/cluster-1/kube-config-dal10-cluster-1.yml
This will show you the place where the certificate is located.
Take that name and concat it with the same address you used before to access the yml config file. Then do a cat. I.e.:
cat /Users/$USER/.bluemix/plugins/container-service/clusters/cluster-1/ca-dal10-cluster-1.pem
Then, copy all these contents.
Go back to the web console and copy the public address, this will be used in Forma in the field called Kubernetes Cluster Address.
Create your Service Account
In the same console where you have been executing commands, proceed to create a service account so that Forma can access your cluster.
Forma needs some permissions to the infrastructure it accesses, that's why we have a set of best practices in place that you can follow. Read more about what access Forma needs and why here.
Register a service account for Forma, so ir can access your cluster. Run kubectl apply -f http://bit.ly/2JI44mF
and then run kubectl describe secrets forma-proxy-secret
Copy and save the token that is shown once the script runs successfully.
Make sure you copy this token.
The latest value is your Public External Cluster Address. Go to your console again and run kubectl get nodes -o jsonpath="PublicIP: {.items[0].status.addresses[?(@.type=='ExternalIP')].address}"
. This will get you the ExternalIP. Make sure to copy just the IP address and no other symbol.
Create a Storage Class
In order for Forma to be able to create PVs it needs a Storage Class in your IBM Cluster. Follow this tutorial from IBM.
Make sure you follow the instructions in the section Installing the IBM Cloud Block Storage plug-in in your cluster.
Create a Cluster configuration in Forma
Login to Forma if you haven't yet forma.worldsibu.com. And fill the "How to connect" fields accordingly to the previous instructions.
You will need the Kubernetes Cluster Address and Public External Cluster Address you got before, as well as the Token and the Connection certificate content.
Save the cluster configuration and head back to the home of Forma to create a new Network.
Summary of the data you need to get Forma to talk to your Cluster
In general, this is the data you will need to create configure your Cluster in Forma is the following, we have created this table to help you map the concepts.
In Forma | In IBM | How to get it |
Kubernetes Cluster Address | Public service endpoint URL |
From the web console in the Overview tab of your Cluster. |
Public External Cluster Address | External IP | You get it by running kubectl get nodes -o jsonpath="PublicIP: {.items[0].status.addresses[?(@.type=='ExternalIP')].address}" |
Token | Token | You get it by running the downloaded script bash ./get-k8s-token.sh |
Connection certificate content | Cluster certificate-authority | By getting the yml file pointing to the certificate cat /Users/$USER/.bluemix/plugins/container-service/clusters/cluster-1/kube-config-dal10-cluster-1.yml and printing it in the console. |