Skip to content

Commit

Permalink
Merge pull request #9829 from mcbenjemaa/provider-proxmox
Browse files Browse the repository at this point in the history
🌱  Add proxmox to provider list
  • Loading branch information
k8s-ci-robot committed Dec 7, 2023
2 parents 351a463 + 3bd1b46 commit 9d36ddc
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 63 deletions.
1 change: 1 addition & 0 deletions docs/book/src/reference/providers.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ updated info about which API version they are supporting.
- [Oracle Cloud Infrastructure (OCI)](https://github.com/oracle/cluster-api-provider-oci)
- [OpenStack](https://github.com/kubernetes-sigs/cluster-api-provider-openstack)
- [Outscale](https://github.com/outscale/cluster-api-provider-outscale)
- [Proxmox](https://github.com/ionos-cloud/cluster-api-provider-proxmox)
- [Sidero](https://github.com/siderolabs/sidero)
- [Tinkerbell](https://github.com/tinkerbell/cluster-api-provider-tinkerbell)
- [vcluster](https://github.com/loft-sh/cluster-api-provider-vcluster)
Expand Down
125 changes: 63 additions & 62 deletions docs/book/src/user/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ Additional documentation about experimental features can be found in [Experiment
Depending on the infrastructure provider you are planning to use, some additional prerequisites should be satisfied
before getting started with Cluster API. See below for the expected settings for common providers.
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,KubeKey,KubeVirt,Metal3,Nutanix,OCI,OpenStack,Outscale,VCD,vcluster,Virtink,vSphere"}}
{{#tabs name:"tab-installation-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,Hetzner,IBM Cloud,KubeKey,KubeVirt,Metal3,Nutanix,OCI,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
{{#tab AWS}}
Download the latest binary of `clusterawsadm` from the [AWS provider releases]. The [clusterawsadm] command line utility assists with identity and access management (IAM) for [Cluster API Provider AWS][capa].
Expand Down Expand Up @@ -695,6 +695,36 @@ clusterctl init --infrastructure outscale
{{#/tab }}
{{#tab Proxmox}}
First, we need to add the IPAM provider to your clusterctl config file `~/.cluster-api/clusterctl.yaml`:
```yaml
providers:
- name: in-cluster
url: https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/ipam-components.yaml
type: IPAMProvider
```
```bash
# The host for the Proxmox cluster
export PROXMOX_URL="https://pve.example:8006"
# The Proxmox token ID to access the remote Proxmox endpoint
export PROXMOX_TOKEN='root@pam!capi'
# The secret associated with the token ID
# You may want to set this in `$XDG_CONFIG_HOME/cluster-api/clusterctl.yaml` so your password is not in
# bash history
export PROXMOX_SECRET="1234-1234-1234-1234"
# Finally, initialize the management cluster
clusterctl init --infrastructure proxmox --ipam in-cluster
```
For more information about the CAPI provider for Proxmox, see the [Proxmox
project][Proxmox getting started guide].
{{#/tab }}
{{#tab VCD}}
Please follow the Cluster API Provider for [Cloud Director Getting Started Guide](https://github.com/vmware/cluster-api-provider-cloud-director/blob/main/README.md)
Expand Down Expand Up @@ -740,35 +770,6 @@ clusterctl init --infrastructure vsphere
For more information about prerequisites, credentials management, or permissions for vSphere, see the [vSphere
project][vSphere getting started guide].
{{#/tab }}
{{#tab Proxmox}}
First, we need to add the IPAM provider to your clusterctl config file `~/.cluster-api/clusterctl.yaml`:
```yaml
providers:
- name: in-cluster
url: https://github.com/kubernetes-sigs/cluster-api-ipam-provider-in-cluster/releases/latest/ipam-components.yaml
type: IPAMProvider
```
```bash
# The host for the Proxmox cluster
export PROXMOX_URL="https://pve.example:8006"
# The Proxmox token ID to access the remote Proxmox endpoint
export PROXMOX_TOKEN='root@pam!capi'
# The secret associated with the token ID
# You may want to set this in `$XDG_CONFIG_HOME/cluster-api/clusterctl.yaml` so your password is not in
# bash history
export PROXMOX_SECRET="1234-1234-1234-1234"
# Finally, initialize the management cluster
clusterctl init --infrastructure proxmox --ipam in-cluster
```
For more information about the CAPI provider for Proxmox, see the [Proxmox
project][Proxmox getting started guide].
{{#/tab }}
{{#/tabs }}
Expand Down Expand Up @@ -838,7 +839,7 @@ before configuring a cluster with Cluster API. Instructions are provided for com
Otherwise, you can look at the `clusterctl generate cluster` [command][clusterctl generate cluster] documentation for details about how to
discover the list of variables required by a cluster templates.
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,KubeKey,KubeVirt,Metal3,Nutanix,OpenStack,Outscale,VCD,vcluster,Virtink,vSphere"}}
{{#tabs name:"tab-configuration-infrastructure" tabs:"AWS,Azure,CloudStack,DigitalOcean,Docker,Equinix Metal,GCP,IBM Cloud,KubeKey,KubeVirt,Metal3,Nutanix,OpenStack,Outscale,Proxmox,VCD,vcluster,Virtink,vSphere"}}
{{#tab AWS}}
```bash
Expand Down Expand Up @@ -1170,6 +1171,37 @@ export OSC_VM_TYPE="<VM_TYPE>"
export OSC_IMAGE_NAME="<IMAGE_NAME>"
```
{{#/tab }}
{{#tab Proxmox}}
A ClusterAPI compatible image must be available in your Proxmox cluster. For instructions on how to build a compatible VM template
see [image-builder](https://image-builder.sigs.k8s.io/capi/capi.html).
```bash
# The node that hosts the VM template to be used to provision VMs
export PROXMOX_SOURCENODE="pve"
# The template VM ID used for cloning VMs
export TEMPLATE_VMID=100
# The ssh authorized keys used to ssh to the machines.
export VM_SSH_KEYS="ssh-ed25519 ..., ssh-ed25519 ..."
# The IP address used for the control plane endpoint
export CONTROL_PLANE_ENDPOINT_IP=10.10.10.4
# The IP ranges for Cluster nodes
export NODE_IP_RANGES="[10.10.10.5-10.10.10.50, 10.10.10.55-10.10.10.70]"
# The gateway for the machines network-config.
export GATEWAY="10.10.10.1"
# Subnet Mask in CIDR notation for your node IP ranges
export IP_PREFIX=24
# The Proxmox network device for VMs
export BRIDGE="vmbr1"
# The dns nameservers for the machines network-config.
export DNS_SERVERS="[8.8.8.8,8.8.4.4]"
# The Proxmox nodes used for VM deployments
export ALLOWED_NODES="[pve1,pve2,pve3]"
```
For more information about prerequisites and advanced setups for Proxmox, see the [Proxmox getting started guide].
{{#/tab }}
{{#tab VCD}}
Expand Down Expand Up @@ -1236,37 +1268,6 @@ export CONTROL_PLANE_ENDPOINT_IP="1.2.3.4"
For more information about prerequisites, credentials management, or permissions for vSphere, see the [vSphere getting started guide].
{{#/tab }}
{{#tab Proxmox}}
A ClusterAPI compatible image must be available in your Proxmox cluster. For instructions on how to build a compatible VM template
see [image-builder](https://image-builder.sigs.k8s.io/capi/capi.html).
```bash
# The node that hosts the VM template to be used to provision VMs
export PROXMOX_SOURCENODE="pve"
# The template VM ID used for cloning VMs
export TEMPLATE_VMID=100
# The ssh authorized keys used to ssh to the machines.
export VM_SSH_KEYS="ssh-ed25519 ..., ssh-ed25519 ..."
# The IP address used for the control plane endpoint
export CONTROL_PLANE_ENDPOINT_IP=10.10.10.4
# The IP ranges for Cluster nodes
export NODE_IP_RANGES="[10.10.10.5-10.10.10.50, 10.10.10.55-10.10.10.70]"
# The gateway for the machines network-config.
export GATEWAY="10.10.10.1"
# Subnet Mask in CIDR notation for your node IP ranges
export IP_PREFIX=24
# The Proxmox network device for VMs
export BRIDGE="vmbr1"
# The dns nameservers for the machines network-config.
export DNS_SERVERS="[8.8.8.8,8.8.4.4]"
# The Proxmox nodes used for VM deployments
export ALLOWED_NODES="[pve1,pve2,pve3]"
```
For more information about prerequisites and advanced setups for Proxmox, see the [Proxmox getting started guide].
{{#/tab }}
{{#/tabs }}
Expand Down
7 changes: 6 additions & 1 deletion docs/book/theme/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,12 @@ cite.literate-source > a::before {
.tabset > input:nth-child(33):checked ~ .tab-panels > .tab-panel:nth-child(17),
.tabset > input:nth-child(35):checked ~ .tab-panels > .tab-panel:nth-child(18),
.tabset > input:nth-child(37):checked ~ .tab-panels > .tab-panel:nth-child(19),
.tabset > input:nth-child(39):checked ~ .tab-panels > .tab-panel:nth-child(20){
.tabset > input:nth-child(39):checked ~ .tab-panels > .tab-panel:nth-child(20),
.tabset > input:nth-child(41):checked ~ .tab-panels > .tab-panel:nth-child(21),
.tabset > input:nth-child(43):checked ~ .tab-panels > .tab-panel:nth-child(22),
.tabset > input:nth-child(45):checked ~ .tab-panels > .tab-panel:nth-child(23),
.tabset > input:nth-child(47):checked ~ .tab-panels > .tab-panel:nth-child(24),
.tabset > input:nth-child(49):checked ~ .tab-panels > .tab-panel:nth-child(25){
display: block;
}

Expand Down

0 comments on commit 9d36ddc

Please sign in to comment.