Skip to content
This repository has been archived by the owner on May 5, 2022. It is now read-only.

exoscale/cluster-api-provider-exoscale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exoscale

Exoscale

Kubernetes Cluster API Provider Exoscale

Prerequisite

  • kubectl 1.14+
  • deepcopy-gen $ go get k8s.io/code-generator/cmd/deepcopy-gen
  • clone into $GOPATH/src/sigs.k8s.io/cluster-api-provider-exoscale

Docker side

% make docker-build

% make docker-push

Run

Configuration is done via the following environement variables.

export EXOSCALE_API_KEY=EXO...
export EXOSCALE_SECRET_KEY=...
export EXOSCALE_COMPUTE_ENDPOINT=https://api.exoscale.com/compute

kind is required to act as the bootstrap cluster. run calls clusterctl.

% go get -u sigs.k8s.io/kind

% make run

Follow the master bootstrap.

% export KUBECONFIG=$(kind get kubeconfig-path --name=clusterapi)

% kubectl logs -f exoscale-provider-controller-... -n exoscale-provider-system

Follow the node bootstrap.

% kubectl --kubeconfig kubeconfig logs -f exoscale-provider-controllers-... -n exoscale-provider-system

And finally.

% kubectl --kubeconfig kubeconfig get nodes
NAME                       STATUS   ROLES    AGE     VERSION
my-exoscale-master-s5lmn   Ready    master   4m23s   v1.13.3
my-exoscale-node-n7dww     Ready    <none>   34s     v1.13.3

Deleting the cluster use clusterctl as well.

% make delete

Use Exoscale Cluster API

Nodes example

Create a cluster with kubectl