Kubernetes Cloud Controller Manager for Scaleway
scaleway-cloud-controller-manager
is the Kubernetes cloud controller manager implementation
(or out-of-tree cloud-provider) for Scaleway.
External cloud providers were introduced as an Alpha feature in Kubernetes 1.6. They are Kubernetes (master) controllers that implement the cloud-provider specific control loops required for Kubernetes to function. Read more about kubernetes cloud controller managers in the kubernetes documentation.
WARNING: this project is under active development and should be considered alpha.
Features
Currently scaleway-cloud-controller-manager
currently implements:
- Instances interface - updates nodes with cloud provider specific labels and addresses, also deletes kubernetes nodes when deleted from the cloud-provider.
- LoadBalancer interface - responsible for creating load balancers when a service
of
type: LoadBalancer
is created in Kubernetes. - Zone interface - makes Kubernetes aware of the failure domain of each node.
Compatibility matrix
K8S 1.17 | K8S 1.18 | K8S 1.19 | K8S 1.20 | |
---|---|---|---|---|
v0.1.x | ✓ | ~ | ~ | ~ |
v0.18.x | ~ | ✓ | ~ | ~ |
v0.19.x | ~ | ~ | ✓ | ~ |
v0.20.x | ~ | ~ | ~ | ✓ |
✓
fully supported~
some features may not be supported (usually a Kubernetes version mismatch)
Branches and releases
There is two types of branches:
matser
which is the main branchrelease-x.y
which are the release branches. Each branch is built againt Kubernetes 1.y
Most of the PRs on master
will be backported to the supported release-x.y
branches.
Each release will be cut from the release-x.y
branch, and will be in the form of x.y.z
where z
will be the Scaleway Cloud Controller patch version.
Getting Started
Learn more about running scaleway-cloud-controller-manager
here!
WARNING: This cloud controller manager is installed by default on Scaleway Kapsule (Scaleway Managed Kubernetes), you don't have to do it yourself or it might cause conflicts.
Quick start
Build
You can build the CCM executable using the following commands:
make build
You can build a local docker image named scaleway-cloud-controller for your current architecture using the following command:
make docker-build
Test
You need to have a kubernetes cluster that is NOT a Kapsule cluster to launch the tests. If you want to follow a tutorial about bootstrapping your own Kubernetes cluster on Scaleway follow the getting starting documentation here
Once this is done, run the tests using
make test
Development
If you are looking for a way to contribute please read CONTRIBUTING.
Code of conduct
Participation in the Kubernetes community is governed by the CNCF Code of Conduct.
Reach us
We love feedback. Feel free to reach us on Scaleway Slack community, we are waiting for you on #k8s.
You can also join the official Kubernetes slack on #scaleway-k8s channel
You can also raise an issue if you think you've found a bug.