- Kubernetes cluster on Cloud.ru, version range v1.20 ~ v1.23.
- Add
--cloud-provider=externalto kube-controller-manager and kube-apiserver config
kube-apiserver and kube-controller-manager MUST NOT specify the --cloud-provider flag
(or specify --cloud-provider=external). This ensures that it does not run any cloud specific loops that would be run
by cloud controller manager.
- Add
--cloud-provider=externalto kubelet on each node
kubelet MUST run with --cloud-provider=external. This is to ensure that the kubelet is aware that it must be
initialized by the cloud controller manager before it is scheduled any work.
- Create the
cloud-configsecret in Kubernetes cluster
Create the cloud-config file according to cloud-config in master node or control-plane,
see Cloud.ru Controller Manager Configurations
for configurations description.
Use the following command create cloud-config secret:
kubectl create secret -n kube-system generic cloud-config --from-file=./cloud-config- Create RBAC resources
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-cloudru/master/manifests/rbac-cloudru-cloud-controller-manager.yaml- Install the Cloud.ru Provider Manager
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/cloud-provider-cloudru/master/manifests/cloudru-cloud-controller-manager-deployment.yaml- Check the running status
# kubectl get pod -n kube-system | grep cloudru-cloud-controller-manager
cloudru-cloud-controller-manager-5f4b7995fc-s6b7p 1/1 Running 0 2m36s
When the status of Pod cloudru-cloud-controller-manager is running, the installation is successful.
Refer to Usage Guide for usage examples.