Skip to content
This repository has been archived by the owner. It is now read-only.

exoscale/cluster-api-provider-exoscale

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
 
 
doc
 
 
 
 
pkg
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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