Skip to content

Support for multiple vDC #545

Open
Open
@O5ten

Description

@O5ten

Is your feature request related to a problem? Please describe.

We are trying to deploy a k8s cluster over multiple vDCs and the provider only has support for a single vDC. We want it because we have requirements of high availability with site redundancy over two separate datacenters but with extremely good latency.

Consider the following yaml, where we specify a VCDCluster kind.

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: VCDCluster
metadata:
  name: ${CLUSTER_NAME}
  namespace: ${TARGET_NAMESPACE}
spec:
  site: ${VCD_SITE} # VCD endpoint with the format https://vcd_host/. No trailing '/'
  org: ${VCD_ORGANIZATION} # VCD organization name where the cluster should be deployed
  ovdc: ${VCD_ORGANIZATION_VDC} # VCD virtual datacenter name where the cluster should be deployed
  ovdcNetwork: ${VCD_ORGANIZATION_VDC_NETWORK} # VCD virtual datacenter network to be used by the cluster
  useAsManagementCluster: false # intent to use the resultant CAPVCD cluster as a management cluster; defaults to false
  userContext:
    secretRef:
      name: capi-user-credentials
      namespace: ${TARGET_NAMESPACE}
  loadBalancerConfigSpec:
    vipSubnet: "" # Virtual IP CIDR for the external network

Here i would like to at least be able to specify multiple ovdc so that nodes are spun up over multiple VCDs for a stretched cluster.

Describe the solution you'd like

Make ovdc optional and introduce a field ovdcs that takes a list of ovdcs.

ovdcs: 
  - VCD_ORGANIZATION_VDC_1
  - VCD_ORGANIZATION_VDC_2

Describe alternatives you've considered

I can (and will) set up two clusters, one for each dc and treat them as such. But it isn't really the solution we would like at this point, so if it would be possible to specify two ovdcs then that would be great!

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions