1. Create a yaml file configMap.yaml with the following parameters;

kind: ConfigMap
apiVersion: v1
metadata:
 name: spotinst-kubernetes-cluster-controller-config
 namespace: kube-system
data:
 spotinst.token: <TOKEN> 
 spotinst.account: <ACCOUNT_ID>
 spotinst.cluster-identifier: <IDENTIFIER> 
 proxy-url: <Proxy-URL> i.e http://hello-world.com:82/
 disable-auto-update: <"true"/"false">

(please replace <TOKEN> <ACCOUNT_ID>   and <IDENTIFIER> ).

Note: proxy-url is an optional parameter in case you want to use a proxy in your cluster, and it is supported in Controller Version 1.0.45 and above.
Note: disable-auto-update is an optional parameter (set to “false” by default). In case you want to disable the controller’s auto-update functionality you can set it to “true”.

2. Load the parameters into the cluster config

  • kubectl apply -f configMap.yaml

 

3. Install the controller and its dependencies

In case you are using K8s version 1.9.X and above, use the following:

  • kubectl apply -f https://s3.amazonaws.com/spotinst-public/integrations/kubernetes/cluster-controller/spotinst-kubernetes-cluster-controller-ga.yaml

Else, install using:

  • kubectl apply -f http://spotinst-public.s3.amazonaws.com/integrations/kubernetes/cluster-controller/spotinst-kubernetes-cluster-controller.yaml
  • Please make sure to always download the yaml file from Spotinst s3 bucket as we keep updating it.

spotinst-kubernetes-cluster-controller is now installed and should be reporting its heartbeat to the relevant Spotinst Elastigroup.