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.
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.
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)
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.
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.
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
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
If you are looking for a way to contribute please read CONTRIBUTING.
Participation in the Kubernetes community is governed by the CNCF Code of Conduct.
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.