mirror of
https://github.com/outbackdingo/proxmox-cloud-controller-manager.git
synced 2026-01-27 02:20:02 +00:00
doc: update readme
Update README.md
This commit is contained in:
14
README.md
14
README.md
@@ -1,16 +1,18 @@
|
|||||||
# Kubernetes cloud controller manager for Proxmox
|
# Kubernetes cloud controller manager for Proxmox
|
||||||
|
|
||||||
In my opinion, Proxmox is like a manual way of creating a cloud.
|
To me, it seems like Proxmox is a bit old-fashioned when it comes to creating virtual machines.
|
||||||
There isn't much automation built into it.
|
It doesn't have a lot of automation built-in, so you have to do a lot of things manually.
|
||||||
Proxmox is a good option if you have a static infrastructure or don't create new virtual machines very often.
|
Proxmox is a good option if you have a static infrastructure or don't create new virtual machines very often.
|
||||||
I personally use terraform to launch kubernetes nodes, and when I scale down, I need to delete the node resource in kubernetes.
|
|
||||||
That's why I created the CCM (Cloud Controller Manager).
|
I use Terraform to launch my Kubernetes nodes.
|
||||||
Originally, it was designed to work with [TalosCCM](https://github.com/siderolabs/talos-cloud-controller-manager), but it was not difficult to make it a standalone solution.
|
However, when I need to scale down the cluster, I have to manually delete the corresponding node resource in Kubernetes.
|
||||||
|
That's why I created the CCM (Cloud Controller Manager) for Proxmox.
|
||||||
|
Originally, it was designed to work with [Talos CCM](https://github.com/siderolabs/talos-cloud-controller-manager), but it was not difficult to make it as standalone solution.
|
||||||
|
|
||||||
The CCM does a few things: it initialises new nodes, applies common labels to them, and removes them when they're deleted. It also supports multiple clusters, meaning you can have one kubernetes cluster across multiple Proxmox clusters.
|
The CCM does a few things: it initialises new nodes, applies common labels to them, and removes them when they're deleted. It also supports multiple clusters, meaning you can have one kubernetes cluster across multiple Proxmox clusters.
|
||||||
|
|
||||||
The basic definitions:
|
The basic definitions:
|
||||||
* kubernetes `region` is a Proxmox cluster
|
* kubernetes `region` is a Proxmox cluster `clusters[].region`
|
||||||
* kubernetes `zone` is a hypervisor host machine name
|
* kubernetes `zone` is a hypervisor host machine name
|
||||||
|
|
||||||
This makes it possible for me to use pods affinity/anti-affinity.
|
This makes it possible for me to use pods affinity/anti-affinity.
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -11,7 +11,7 @@ require (
|
|||||||
k8s.io/client-go v0.26.3
|
k8s.io/client-go v0.26.3
|
||||||
k8s.io/cloud-provider v0.26.3
|
k8s.io/cloud-provider v0.26.3
|
||||||
k8s.io/component-base v0.26.3
|
k8s.io/component-base v0.26.3
|
||||||
k8s.io/klog/v2 v2.90.0
|
k8s.io/klog/v2 v2.90.1
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -747,8 +747,8 @@ k8s.io/component-helpers v0.26.3 h1:eQ682yg1GiIGAsde+l2xL0P2yMYJOvypWsz6h6FtkZo=
|
|||||||
k8s.io/component-helpers v0.26.3/go.mod h1:feC+CaxJXULs5TSD3lG8K5ecftOkF8eY0pHQgd7koEI=
|
k8s.io/component-helpers v0.26.3/go.mod h1:feC+CaxJXULs5TSD3lG8K5ecftOkF8eY0pHQgd7koEI=
|
||||||
k8s.io/controller-manager v0.26.3 h1:68orrBzfIUJNB+SAjlX6m8ocpHK1mz+/FUHu14+VHzc=
|
k8s.io/controller-manager v0.26.3 h1:68orrBzfIUJNB+SAjlX6m8ocpHK1mz+/FUHu14+VHzc=
|
||||||
k8s.io/controller-manager v0.26.3/go.mod h1:YS449osPmX9Q4xLcyuqEfVzqYcEDxjzzr1kMABouA1I=
|
k8s.io/controller-manager v0.26.3/go.mod h1:YS449osPmX9Q4xLcyuqEfVzqYcEDxjzzr1kMABouA1I=
|
||||||
k8s.io/klog/v2 v2.90.0 h1:VkTxIV/FjRXn1fgNNcKGM8cfmL1Z33ZjXRTVxKCoF5M=
|
k8s.io/klog/v2 v2.90.1 h1:m4bYOKall2MmOiRaR1J+We67Do7vm9KiQVlT96lnHUw=
|
||||||
k8s.io/klog/v2 v2.90.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
|
k8s.io/klog/v2 v2.90.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
|
||||||
k8s.io/kms v0.26.3 h1:+rC4BMeMBkH5hrfZt9WFMRrs2m3vY2rXymisNactcTY=
|
k8s.io/kms v0.26.3 h1:+rC4BMeMBkH5hrfZt9WFMRrs2m3vY2rXymisNactcTY=
|
||||||
k8s.io/kms v0.26.3/go.mod h1:69qGnf1NsFOQP07fBYqNLZklqEHSJF024JqYCaeVxHg=
|
k8s.io/kms v0.26.3/go.mod h1:69qGnf1NsFOQP07fBYqNLZklqEHSJF024JqYCaeVxHg=
|
||||||
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E=
|
k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E=
|
||||||
|
|||||||
Reference in New Issue
Block a user