How do I create a hybrid cluster?
A hybrid cluster combines bare metal and VMware Cloud Director nodes. To create such a cluster, you will need an L2 network between all nodes of the cluster.
To create a hybrid cluster, you need to:
-
Enable DHCP-server in internal network.
-
Prepare a file with the provider configuration (use valid values for your cloud):
apiVersion: deckhouse.io/v1 internalNetworkCIDR: <NETWORK_CIRD> kind: VCDClusterConfiguration layout: Standard mainNetwork: <NETWORK_NAME> masterNodeGroup: instanceClass: etcdDiskSizeGb: 10 mainNetworkIPAddresses: - 192.168.199.2 rootDiskSizeGb: 20 sizingPolicy: not_exists storageProfile: not_exists template: not_exists replicas: 1 organization: <ORGANIZATION> provider: insecure: true password: <PASSWORD> server: <API_URL> username: <USER_NAME> sshPublicKey: <SSH_PUBLIC_KEY> virtualApplicationName: <VAPP_NAME> virtualDataCenter: <VDC_NAME>
Please note that
masterNodeGroup
is required, but can be left as is. - Encode the resulting file in Base64.
-
Create a secret with the following content:
apiVersion: v1 data: cloud-provider-cluster-configuration.yaml: <BASE64_WAS_GOT_IN_BEFORE_STEP> cloud-provider-discovery-data.json: eyJhcGlWZXJzaW9uIjoiZGVja2hvdXNlLmlvL3YxIiwia2luZCI6IlZDRENsb3VkUHJvdmlkZXJEaXNjb3ZlcnlEYXRhIiwiem9uZXMiOlsiZGVmYXVsdCJdfQo= kind: Secret metadata: labels: heritage: deckhouse name: d8-provider-cluster-configuration name: d8-provider-cluster-configuration namespace: kube-system type: Opaque
-
Enable
cloud-provider-vcd
module:kubectl -n d8-system exec -it svc/deckhouse-leader -c deckhouse -- deckhouse-controller module enable cloud-provider-vcd