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, replacing the designations with those valid 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. 1
- Create a secret with the following content:
| yaml
|
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
|
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 the module
cloud-provider-vcd :
| shell
|
shell
| kubectl -n d8-system exec -it deployments/deckhouse – deckhouse-controller module enable cloud-provider-vcd
|
kubectl -n d8-system exec -it deployments/deckhouse – deckhouse-controller module enable cloud-provider-vcd
| |