| # Cloudstack Cloud Controller Manager |
| |
| [](https://github.com/swisstxt/cloudstack-cloud-controller-manager/releases) |
| [](/LICENSE-2.0) |
| [](https://golang.org) |
| [](https://hub.docker.com/r/swisstxt/cloudstack-cloud-controller-manager/) |
| |
| A Cloud Controller Manager to facilitate Kubernetes deployments on Cloudstack. |
| |
| Based on the old Cloudstack provider in kube-controller-manager. |
| |
| ## Build |
| |
| All dependencies are vendored. |
| You need GNU make, git and Go 1.10 to build cloudstack-ccm. |
| |
| ```bash |
| go get github.com/swisstxt/cloudstack-cloud-controller-manager |
| cd ${GOPATH}/src/github.com/swisstxt/cloudstack-cloud-controller-manager |
| make |
| ``` |
| |
| To build the cloudstack-cloud-controller-manager container, please use the provided Docker file: |
| |
| ```bash |
| docker build . -t swisstxt/cloudstack-cloud-controller-manager:latest |
| ``` |
| |
| ## Use |
| |
| Prebuilt containers are posted on [Docker Hub](https://hub.docker.com/r/swisstxt/cloudstack-cloud-controller-manager). |
| |
| ### Kubernetes |
| |
| To deploy the ccm in the cluster see [deployment.yaml](/deployment.yaml) and configure your cloudstack and api server connection. See the comments. |
| |
| ### Protocols |
| |
| This CCM supports TCP, UDP and [TCP-Proxy](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) |
| LoadBalancer deployments. |
| |
| For UDP and Proxy Protocol support, CloudStack 4.6 or later is required. |
| |
| Since kube-proxy does not support the Proxy Protocol or UDP, you should connect this |
| directly to containers, for example by deploying a DaemonSet and setting `hostNetwork: true`. |
| |
| See [service.yaml](/service.yaml) for an example Service deployment and part |
| of a suitable configuration for an ingress controller. |
| |
| ### Development |
| |
| Make sure your apiserver is running locally and keep your cloudstack config ready: |
| |
| ```bash |
| ./cloudstack-ccm --cloud-provider external-cloudstack --cloud-config cloud.config --master localhost |
| ``` |
| |
| ## Copyright |
| |
| © 2018 SWISS TXT AG and the Kubernetes authors. |
| |
| See LICENSE-2.0 for permitted usage. |