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:
| Чтобы поднять гибридный кластер, необходимо:
|
- Enable DHCP-server in internal network.
|
- Включить DHCP-сервер для внутренней сети.
|
- Prepare a file with the provider configuration (use valid values for your cloud):
|
- Подготовить файл с конфигурацией провайдера (используйте корректные значения для вашего облака):
|
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 является обязательным, но его можно оставить как есть.
- Закодируйте полученный файл в Base64.
- Создайте секрет со следующим содержимым:
|
- Encode the resulting file in Base64.
- 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
|
- Включите модуль
cloud-provider-vcd :
|
- 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
| |