Skip to content

Commit

Permalink
Add OpenStack to External Cloud Providers in quick-start.md
Browse files Browse the repository at this point in the history
Provides instructions for users to set up OpenStack as an
external cloud provider.

Signed-off-by: Max Rantil <[email protected]>
Co-authored-by: Lennart Jern <[email protected]>
Co-authored-by: Christian Schlotter <[email protected]>
  • Loading branch information
3 people committed Feb 2, 2024
1 parent 0bf1162 commit a46c8ba
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion docs/book/src/user/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -1445,7 +1445,7 @@ Note: To use the default clusterctl method to retrieve kubeconfig for a workload
The Kubernetes in-tree cloud provider implementations are being [removed](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cloud-provider/2395-removing-in-tree-cloud-providers) in favor of external cloud providers (also referred to as "out-of-tree"). This requires deploying a new component called the cloud-controller-manager which is responsible for running all the cloud specific controllers that were previously run in the kube-controller-manager. To learn more, see [this blog post](https://kubernetes.io/blog/2019/04/17/the-future-of-cloud-providers-in-kubernetes/).
{{#tabs name:"tab-install-cloud-provider" tabs:"Azure"}}
{{#tabs name:"tab-install-cloud-provider" tabs:"Azure,OpenStack"}}
{{#tab Azure}}
Install the official cloud-provider-azure Helm chart on the workload cluster:
Expand All @@ -1456,6 +1456,39 @@ helm install --kubeconfig=./capi-quickstart.kubeconfig --repo https://raw.github
For more information, see the [CAPZ book](https://capz.sigs.k8s.io/topics/addons.html).
{{#/tab }}
{{#tab OpenStack}}
Before deploying the OpenStack external cloud provider, configure the `cloud.conf` file for integration with your OpenStack environment:
```bash
cat > cloud.conf <<EOF
[Global]
auth-url=<your_auth_url>
application-credential-id=<your_credential_id>
application-credential-secret=<your_credential_secret>
region=<your_region>
domain-name=<your_domain_name>
EOF
```
Next, create a Kubernetes secret using this configuration to securely store your cloud environment details.
You can create this secret for example with:
```bash
kubectl -n kube-system create secret generic cloud-config --from-file=cloud.conf
```
Now, you are ready to deploy the external cloud provider!
```bash
kubectl apply -f https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/manifests/controller-manager/cloud-controller-manager-roles.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/manifests/controller-manager/cloud-controller-manager-role-bindings.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/cloud-provider-openstack/master/manifests/controller-manager/openstack-cloud-controller-manager-ds.yaml
```
Alternatively, refer to the [helm chart](https://github.com/kubernetes/cloud-provider-openstack/tree/master/charts/openstack-cloud-controller-manager).
{{#/tab }}
{{#/tabs }}
Expand Down

0 comments on commit a46c8ba

Please sign in to comment.