Compare languages | Cloud provider — VMware Cloud Director: FAQ

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.

Гибридный кластер представляет собой объединенные в один кластер bare-metal-узлы и узлы VMware Cloud Director. Для создания такого кластера необходимо наличие L2-сети между всеми узлами кластера.

To create a hybrid cluster, you need to:

Чтобы поднять гибридный кластер, необходимо:

  1. Enable DHCP-server in internal network.
  1. Включить DHCP-сервер для внутренней сети.
  1. Prepare a file with the provider configuration (use valid values for your cloud):
  1. Подготовить файл с конфигурацией провайдера (используйте корректные значения для вашего облака):

yaml apiVersion: deckhouse.io/v1 internalNetworkCIDR: kind: VCDClusterConfiguration layout: Standard mainNetwork: masterNodeGroup: instanceClass: etcdDiskSizeGb: 10 mainNetworkIPAddresses:

  • 192.168.199.2 rootDiskSizeGb: 20 sizingPolicy: not_exists storageProfile: not_exists template: not_exists replicas: 1 organization: provider: insecure: true password: server: username: sshPublicKey: virtualApplicationName: virtualDataCenter:

yaml apiVersion: deckhouse.io/v1 internalNetworkCIDR: kind: VCDClusterConfiguration layout: Standard mainNetwork: masterNodeGroup: instanceClass: etcdDiskSizeGb: 10 mainNetworkIPAddresses:

  • 192.168.199.2 rootDiskSizeGb: 20 sizingPolicy: not_exists storageProfile: not_exists template: not_exists replicas: 1 organization: provider: insecure: true password: server: username: sshPublicKey: virtualApplicationName: virtualDataCenter:

Please note that masterNodeGroup is required, but can be left as is.

Обратите внимание, что masterNodeGroup является обязательным, но его можно оставить как есть.

  1. Закодируйте полученный файл в Base64.
  2. Создайте секрет со следующим содержимым:
  1. Encode the resulting file in Base64.
  2. Create a secret with the following content:

yaml apiVersion: v1 data: cloud-provider-cluster-configuration.yaml: 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

yaml apiVersion: v1 data: cloud-provider-cluster-configuration.yaml: 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

  1. Включите модуль cloud-provider-vcd:
  1. Enable cloud-provider-vcd module:

shell kubectl -n d8-system exec -it svc/deckhouse-leader -c deckhouse – deckhouse-controller module enable cloud-provider-vcd

shell kubectl -n d8-system exec -it svc/deckhouse-leader -c deckhouse – deckhouse-controller module enable cloud-provider-vcd