Skip to content

Commit 381c518

Browse files
committed
docs: support for the Proxmox Cluster API provider by IONOS
Signed-off-by: Dario Tranchitella <[email protected]>
1 parent 16465ad commit 381c518

File tree

2 files changed

+152
-12
lines changed

2 files changed

+152
-12
lines changed

README.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,19 @@ The Kamaji Cluster API Control Plane provider documentation is referenced in the
2525

2626
### 🚀 Supported CAPI infrastructure providers
2727

28-
| Infrastructure Provider | Version |
29-
|-----------------------------------------------------------------------------------------------------------------------------------------|-------------------|
30-
| [AWS](https://github.com/kubernetes-sigs/cluster-api-provider-aws) ([technical considerations](docs/providers-aws.md)) | += v2.4.0 |
31-
| [Equinix/Packet](https://github.com/kubernetes-sigs/cluster-api-provider-packet) ([technical considerations](docs/providers-packet.md)) | += v0.7.2 |
32-
| [Hetzner](https://github.com/syself/cluster-api-provider-hetzner)([technical considerations](docs/providers-hetzner.md)) | += v1.0.0-beta.30 |
33-
| [KubeVirt](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt) ([technical considerations](docs/providers-kubevirt.md)) | += 0.1.7 |
34-
| [Metal³](https://github.com/metal3-io/cluster-api-provider-metal3) ([technical considerations](docs/providers-metal3.md)) | += 1.4.0 |
35-
| [Nutanix](https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix) ([technical considerations](docs/providers-nutanix.md)) | += 1.2.4 |
36-
| [OpenStack](https://github.com/kubernetes-sigs/cluster-api-provider-openstack) ([technical considerations](docs/providers-openstack.md)) | += 0.8.0 |
37-
| [Tinkerbell](https://github.com/tinkerbell/cluster-api-provider-tinkerbell) ([technical considerations](docs/providers-tinkerbell.md)) | += v0.5.2 |
38-
| [vSphere](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere) ([technical considerations](docs/providers-vsphere.md)) | += 1.7.0 |
39-
| [IONOS Cloud](https://github.com/ionos-cloud/cluster-api-provider-ionoscloud) ([technical considerations](docs/providers-ionoscloud.md)) | += v0.3.0 |
28+
| Infrastructure Provider | Version |
29+
|-----------------------------------------------------------------------------------------------------------------------------------------------|-------------------|
30+
| [AWS](https://github.com/kubernetes-sigs/cluster-api-provider-aws) ([technical considerations](docs/providers-aws.md)) | += v2.4.0 |
31+
| [Equinix/Packet](https://github.com/kubernetes-sigs/cluster-api-provider-packet) ([technical considerations](docs/providers-packet.md)) | += v0.7.2 |
32+
| [Hetzner](https://github.com/syself/cluster-api-provider-hetzner)([technical considerations](docs/providers-hetzner.md)) | += v1.0.0-beta.30 |
33+
| [KubeVirt](https://github.com/kubernetes-sigs/cluster-api-provider-kubevirt) ([technical considerations](docs/providers-kubevirt.md)) | += 0.1.7 |
34+
| [Metal³](https://github.com/metal3-io/cluster-api-provider-metal3) ([technical considerations](docs/providers-metal3.md)) | += 1.4.0 |
35+
| [Nutanix](https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix) ([technical considerations](docs/providers-nutanix.md)) | += 1.2.4 |
36+
| [OpenStack](https://github.com/kubernetes-sigs/cluster-api-provider-openstack) ([technical considerations](docs/providers-openstack.md)) | += 0.8.0 |
37+
| [Tinkerbell](https://github.com/tinkerbell/cluster-api-provider-tinkerbell) ([technical considerations](docs/providers-tinkerbell.md)) | += v0.5.2 |
38+
| [vSphere](https://github.com/kubernetes-sigs/cluster-api-provider-vsphere) ([technical considerations](docs/providers-vsphere.md)) | += 1.7.0 |
39+
| [IONOS Cloud](https://github.com/ionos-cloud/cluster-api-provider-ionoscloud) ([technical considerations](docs/providers-ionoscloud.md)) | += v0.3.0 |
40+
| [Proxmox by IONOS Cloud](https://github.com/ionos-cloud/cluster-api-provider-proxmox) ([technical considerations](docs/providers-proxmox.md)) | unreleased |
4041

4142
> Are you looking for further integrations?
4243
> Please, engage with the community on the [#kamaji](https://kubernetes.slack.com/archives/C03GLTTMWNN) Kubernetes Slack

docs/providers-proxmox.md

+139
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Kamaji and Proxmox
2+
3+
The Kamaji Control Plane provider allows creating a _Proxmox by IONOS Cloud_ backed Kubernetes cluster by providing Kamaji Control Planes.
4+
5+
## Example manifests
6+
7+
```yaml
8+
apiVersion: cluster.x-k8s.io/v1beta1
9+
kind: Cluster
10+
metadata:
11+
name: proxmox-quickstart
12+
namespace: default
13+
spec:
14+
clusterNetwork:
15+
pods:
16+
cidrBlocks:
17+
- REDACTED/REDACTED
18+
controlPlaneRef:
19+
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
20+
kind: KamajiControlPlane
21+
name: proxmox-quickstart
22+
infrastructureRef:
23+
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
24+
kind: ProxmoxCluster
25+
name: proxmox-quickstart
26+
---
27+
apiVersion: controlplane.cluster.x-k8s.io/v1alpha1
28+
kind: KamajiControlPlane
29+
metadata:
30+
name: proxmox-quickstart
31+
namespace: default
32+
spec:
33+
dataStoreName: default
34+
addons:
35+
coreDNS: { }
36+
kubeProxy: { }
37+
kubelet:
38+
cgroupfs: systemd
39+
preferredAddressTypes:
40+
- InternalIP
41+
network:
42+
serviceType: LoadBalancer
43+
deployment:
44+
replicas: 2
45+
version: 1.29.7
46+
---
47+
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
48+
kind: ProxmoxCluster
49+
metadata:
50+
name: proxmox-quickstart
51+
namespace: default
52+
spec:
53+
allowedNodes:
54+
- pve
55+
dnsServers:
56+
- REDACTED
57+
- REDACTED
58+
externalManagedControlPlane: true
59+
ipv4Config:
60+
addresses:
61+
- REDACTED-REDACTED
62+
gateway: REDACTED
63+
prefix: REDACTED
64+
---
65+
apiVersion: cluster.x-k8s.io/v1beta1
66+
kind: MachineDeployment
67+
metadata:
68+
name: proxmox-quickstart-workers
69+
namespace: default
70+
spec:
71+
clusterName: proxmox-quickstart
72+
replicas: 2
73+
selector:
74+
matchLabels: null
75+
template:
76+
metadata:
77+
labels:
78+
node-role.kubernetes.io/node: ""
79+
spec:
80+
bootstrap:
81+
configRef:
82+
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
83+
kind: KubeadmConfigTemplate
84+
name: proxmox-quickstart-worker
85+
clusterName: proxmox-quickstart
86+
infrastructureRef:
87+
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
88+
kind: ProxmoxMachineTemplate
89+
name: proxmox-quickstart-worker
90+
version: v1.29.7
91+
---
92+
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1
93+
kind: ProxmoxMachineTemplate
94+
metadata:
95+
name: proxmox-quickstart-worker
96+
namespace: default
97+
spec:
98+
template:
99+
spec:
100+
disks:
101+
bootVolume:
102+
disk: scsi0
103+
sizeGb: REDACTED
104+
format: qcow2
105+
full: true
106+
memoryMiB: REDACTED
107+
network:
108+
default:
109+
bridge: REDACTED
110+
model: virtio
111+
numCores: REDACTED
112+
numSockets: REDACTED
113+
sourceNode: pve
114+
templateID: REDACTED
115+
---
116+
apiVersion: bootstrap.cluster.x-k8s.io/v1beta1
117+
kind: KubeadmConfigTemplate
118+
metadata:
119+
name: proxmox-quickstart-worker
120+
namespace: default
121+
spec:
122+
template:
123+
spec:
124+
joinConfiguration:
125+
nodeRegistration:
126+
kubeletExtraArgs:
127+
provider-id: proxmox://'{{ ds.meta_data.instance_id }}'
128+
users:
129+
- name: root
130+
sshAuthorizedKeys:
131+
- REDACTED
132+
```
133+
134+
## Technical considerations
135+
136+
The `ProxmoxCluster` `spec.externalManagedControlPlane` value must be toggled to true.
137+
138+
> Currently, the said change has not yet been released by the CAPMOX project:
139+
> to test this feature, you need to build and install from source code.

0 commit comments

Comments
 (0)