Deckhouse Kubernetes Platform on Deckhouse Virtualization Platform (DVP)
Select the Deckhouse Kubernetes Platform revision
The recommended settings for a Deckhouse Kubernetes Platform Community Edition installation are generated below:
config.yml
— a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, cloud provider related parameters (such as credentials, instance type, etc), description of the resources that must be installed after the installation (nodes description, Ingress controller description, etc), access parameters and the initial cluster parameters.
Please pay attention to:
- highlighted parameters you must define.
- parameters you might want to change.
Create the config.yml
file.
# General cluster parameters.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
provider: DVP
# A prefix of objects that are created in the cloud during the installation.
# You might consider changing this.
prefix: cloud-demo
# Address space of the cluster's Pods.
# Must not overlap with the address space of DVP Pods.
podSubnetCIDR: 10.112.0.0/16
# Address space of the cluster's services.
# Must not overlap with the address space of DVP services.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Settings for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: registry.deckhouse.io/deckhouse/ce
registryDockerCfg: eyJhdXRocyI6IHsgInJlZ2lzdHJ5LmRlY2tob3VzZS5ydSI6IHt9fX0K
---
# Deckhouse module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
enabled: true
settings:
bundle: Default
releaseChannel: EarlyAccess
logLevel: Info
---
# Global Deckhouse settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#parameters
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: global
spec:
version: 2
settings:
modules:
# Template that will be used for system app domains within the cluster.
# For example, Grafana for %s.example.com will be available as 'grafana.example.com'.
# The domain MUST NOT match the one specified in the clusterDomain parameter of the ClusterConfiguration resource.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
---
# User-authn module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authn
spec:
version: 2
enabled: true
settings:
controlPlaneConfigurator:
dexCAMode: DoNotNeed
# Enabling access to the API server through Ingress.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
publishAPI:
enabled: true
https:
mode: Global
global:
kubeconfigGeneratorMasterCA: ""
---
# Cloud provider settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
replicas: 1
instanceClass:
rootDiskSize: 40
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Static IP addresses (or Auto for automatic IP address assignment) to be assigned to the network interfaces of the virtual machines. The number of addresses must match the number of replicas being created — each IP address will be assigned to a specific virtual machine replica.
ipAddresses:
- Auto
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
# Settings for the etcd data disk.
etcdDisk:
# Etcd disk size.
size: 15Gi
# Name of the existing StorageClass will be used to create the etcd data disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Public SSH key for accessing cloud nodes.
# This key will be added to the user on created nodes (the user name depends on the image used).
sshPublicKey: *!CHANGE_SSH_KEY*
# Contains settings to connect to the Deckhouse Kubernetes Platform API.
provider:
# Kubeconfig to connect to Deckhouse Kubernetes Platform API, Base64-encoded.
kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
# Namespace in which DKP cluster resources will be created.
namespace: demo
---
# Section containing parameters of instance class for worker nodes.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
name: worker
spec:
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Defines a bootloader for the virtual machine.
bootloader: EFI
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
---
# Section containing parameters of worker node group.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
cloudInstances:
classReference:
kind: DVPInstanceClass
name: worker
# The maximum number of instances for the group in each zone (used by the autoscaler).
# You might consider changing this.
maxPerZone: 1
# The minimum number of instances for the group in each zone. To launch more nodes, increase maxPerZone or add more zones.
minPerZone: 1
nodeType: CloudEphemeral
---
# Section containing parameters of the NGINX Ingress controller.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
inlet: LoadBalancer
# Describes on which nodes the Ingress Controller will be located. The label "node.deckhouse.io/group: <NAME_GROUP_NAME>" is set automatically.
nodeSelector:
node.deckhouse.io/group: worker
---
# RBAC and authorization settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
name: admin
spec:
subjects:
- kind: User
name: admin@deckhouse.io
accessLevel: SuperAdmin
portForwarding: true
---
# Parameters of the static user.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
name: admin
spec:
# User e-mail.
email: admin@deckhouse.io
# This is a hash of the password <GENERATED_PASSWORD>, generated when loading the page of the Getting Started.
# Generate your own or use it at your own risk (for testing purposes)
# echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
# You might consider changing this.
password: <GENERATED_PASSWORD_HASH>
Enter license key
Have no key?
The recommended settings for a Deckhouse Kubernetes Platform Basic Edition installation are generated below:
config.yml
— a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, cloud provider related parameters (such as credentials, instance type, etc), description of the resources that must be installed after the installation (nodes description, Ingress controller description, etc), access parameters and the initial cluster parameters.
Please pay attention to:
- highlighted parameters you must define.
- parameters you might want to change.
Create the config.yml
file.
# General cluster parameters.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
provider: DVP
# A prefix of objects that are created in the cloud during the installation.
# You might consider changing this.
prefix: cloud-demo
# Address space of the cluster's Pods.
# Must not overlap with the address space of DVP Pods.
podSubnetCIDR: 10.112.0.0/16
# Address space of the cluster's services.
# Must not overlap with the address space of DVP services.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Settings for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: registry.deckhouse.io/deckhouse/<REVISION>
# A special string with your token to access Docker registry (generated automatically for your license token).
registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Deckhouse module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
enabled: true
settings:
bundle: Default
releaseChannel: Stable
logLevel: Info
---
# Global Deckhouse settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#parameters
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: global
spec:
version: 2
settings:
modules:
# Template that will be used for system app domains within the cluster.
# For example, Grafana for %s.example.com will be available as 'grafana.example.com'.
# The domain MUST NOT match the one specified in the clusterDomain parameter of the ClusterConfiguration resource.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
---
# User-authn module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authn
spec:
version: 2
enabled: true
settings:
controlPlaneConfigurator:
dexCAMode: DoNotNeed
# Enabling access to the API server through Ingress.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
publishAPI:
enabled: true
https:
mode: Global
global:
kubeconfigGeneratorMasterCA: ""
---
# Cloud provider settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
replicas: 1
instanceClass:
rootDiskSize: 40
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Static IP addresses (or Auto for automatic IP address assignment) to be assigned to the network interfaces of the virtual machines. The number of addresses must match the number of replicas being created — each IP address will be assigned to a specific virtual machine replica.
ipAddresses:
- Auto
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
# Settings for the etcd data disk.
etcdDisk:
# Etcd disk size.
size: 15Gi
# Name of the existing StorageClass will be used to create the etcd data disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Public SSH key for accessing cloud nodes.
# This key will be added to the user on created nodes (the user name depends on the image used).
sshPublicKey: *!CHANGE_SSH_KEY*
# Contains settings to connect to the Deckhouse Kubernetes Platform API.
provider:
# Kubeconfig to connect to Deckhouse Kubernetes Platform API, Base64-encoded.
kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
# Namespace in which DKP cluster resources will be created.
namespace: demo
---
# Section containing parameters of instance class for worker nodes.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
name: worker
spec:
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Defines a bootloader for the virtual machine.
bootloader: EFI
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
---
# Section containing parameters of worker node group.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
cloudInstances:
classReference:
kind: DVPInstanceClass
name: worker
# The maximum number of instances for the group in each zone (used by the autoscaler).
# You might consider changing this.
maxPerZone: 1
# The minimum number of instances for the group in each zone. To launch more nodes, increase maxPerZone or add more zones.
minPerZone: 1
nodeType: CloudEphemeral
---
# Section containing parameters of the NGINX Ingress controller.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
inlet: LoadBalancer
# Describes on which nodes the Ingress Controller will be located. The label "node.deckhouse.io/group: <NAME_GROUP_NAME>" is set automatically.
nodeSelector:
node.deckhouse.io/group: worker
---
# RBAC and authorization settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
name: admin
spec:
subjects:
- kind: User
name: admin@deckhouse.io
accessLevel: SuperAdmin
portForwarding: true
---
# Parameters of the static user.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
name: admin
spec:
# User e-mail.
email: admin@deckhouse.io
# This is a hash of the password <GENERATED_PASSWORD>, generated when loading the page of the Getting Started.
# Generate your own or use it at your own risk (for testing purposes)
# echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
# You might consider changing this.
password: <GENERATED_PASSWORD_HASH>
Enter license key
Have no key?
The recommended settings for a Deckhouse Kubernetes Platform Standard Edition installation are generated below:
config.yml
— a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, cloud provider related parameters (such as credentials, instance type, etc), description of the resources that must be installed after the installation (nodes description, Ingress controller description, etc), access parameters and the initial cluster parameters.
Please pay attention to:
- highlighted parameters you must define.
- parameters you might want to change.
Create the config.yml
file.
# General cluster parameters.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
provider: DVP
# A prefix of objects that are created in the cloud during the installation.
# You might consider changing this.
prefix: cloud-demo
# Address space of the cluster's Pods.
# Must not overlap with the address space of DVP Pods.
podSubnetCIDR: 10.112.0.0/16
# Address space of the cluster's services.
# Must not overlap with the address space of DVP services.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Settings for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: registry.deckhouse.io/deckhouse/<REVISION>
# A special string with your token to access Docker registry (generated automatically for your license token).
registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Deckhouse module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
enabled: true
settings:
bundle: Default
releaseChannel: Stable
logLevel: Info
---
# Global Deckhouse settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#parameters
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: global
spec:
version: 2
settings:
modules:
# Template that will be used for system app domains within the cluster.
# For example, Grafana for %s.example.com will be available as 'grafana.example.com'.
# The domain MUST NOT match the one specified in the clusterDomain parameter of the ClusterConfiguration resource.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
---
# User-authn module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authn
spec:
version: 2
enabled: true
settings:
controlPlaneConfigurator:
dexCAMode: DoNotNeed
# Enabling access to the API server through Ingress.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
publishAPI:
enabled: true
https:
mode: Global
global:
kubeconfigGeneratorMasterCA: ""
---
# Cloud provider settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
replicas: 1
instanceClass:
rootDiskSize: 40
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Static IP addresses (or Auto for automatic IP address assignment) to be assigned to the network interfaces of the virtual machines. The number of addresses must match the number of replicas being created — each IP address will be assigned to a specific virtual machine replica.
ipAddresses:
- Auto
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
# Settings for the etcd data disk.
etcdDisk:
# Etcd disk size.
size: 15Gi
# Name of the existing StorageClass will be used to create the etcd data disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Public SSH key for accessing cloud nodes.
# This key will be added to the user on created nodes (the user name depends on the image used).
sshPublicKey: *!CHANGE_SSH_KEY*
# Contains settings to connect to the Deckhouse Kubernetes Platform API.
provider:
# Kubeconfig to connect to Deckhouse Kubernetes Platform API, Base64-encoded.
kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
# Namespace in which DKP cluster resources will be created.
namespace: demo
---
# Section containing parameters of instance class for worker nodes.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
name: worker
spec:
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Defines a bootloader for the virtual machine.
bootloader: EFI
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
---
# Section containing parameters of worker node group.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
cloudInstances:
classReference:
kind: DVPInstanceClass
name: worker
# The maximum number of instances for the group in each zone (used by the autoscaler).
# You might consider changing this.
maxPerZone: 1
# The minimum number of instances for the group in each zone. To launch more nodes, increase maxPerZone or add more zones.
minPerZone: 1
nodeType: CloudEphemeral
---
# Section containing parameters of the NGINX Ingress controller.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
inlet: LoadBalancer
# Describes on which nodes the Ingress Controller will be located. The label "node.deckhouse.io/group: <NAME_GROUP_NAME>" is set automatically.
nodeSelector:
node.deckhouse.io/group: worker
---
# RBAC and authorization settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
name: admin
spec:
subjects:
- kind: User
name: admin@deckhouse.io
accessLevel: SuperAdmin
portForwarding: true
---
# Parameters of the static user.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
name: admin
spec:
# User e-mail.
email: admin@deckhouse.io
# This is a hash of the password <GENERATED_PASSWORD>, generated when loading the page of the Getting Started.
# Generate your own or use it at your own risk (for testing purposes)
# echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
# You might consider changing this.
password: <GENERATED_PASSWORD_HASH>
Enter license key
Have no key?
The recommended settings for a Deckhouse Kubernetes Platform Standard Edition+ installation are generated below:
config.yml
— a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, cloud provider related parameters (such as credentials, instance type, etc), description of the resources that must be installed after the installation (nodes description, Ingress controller description, etc), access parameters and the initial cluster parameters.
Please pay attention to:
- highlighted parameters you must define.
- parameters you might want to change.
Create the config.yml
file.
# General cluster parameters.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
provider: DVP
# A prefix of objects that are created in the cloud during the installation.
# You might consider changing this.
prefix: cloud-demo
# Address space of the cluster's Pods.
# Must not overlap with the address space of DVP Pods.
podSubnetCIDR: 10.112.0.0/16
# Address space of the cluster's services.
# Must not overlap with the address space of DVP services.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Settings for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: registry.deckhouse.io/deckhouse/<REVISION>
# A special string with your token to access Docker registry (generated automatically for your license token).
registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Deckhouse module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
enabled: true
settings:
bundle: Default
releaseChannel: Stable
logLevel: Info
---
# Global Deckhouse settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#parameters
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: global
spec:
version: 2
settings:
modules:
# Template that will be used for system app domains within the cluster.
# For example, Grafana for %s.example.com will be available as 'grafana.example.com'.
# The domain MUST NOT match the one specified in the clusterDomain parameter of the ClusterConfiguration resource.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
---
# User-authn module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authn
spec:
version: 2
enabled: true
settings:
controlPlaneConfigurator:
dexCAMode: DoNotNeed
# Enabling access to the API server through Ingress.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
publishAPI:
enabled: true
https:
mode: Global
global:
kubeconfigGeneratorMasterCA: ""
---
# Cloud provider settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
replicas: 1
instanceClass:
rootDiskSize: 40
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Static IP addresses (or Auto for automatic IP address assignment) to be assigned to the network interfaces of the virtual machines. The number of addresses must match the number of replicas being created — each IP address will be assigned to a specific virtual machine replica.
ipAddresses:
- Auto
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
# Settings for the etcd data disk.
etcdDisk:
# Etcd disk size.
size: 15Gi
# Name of the existing StorageClass will be used to create the etcd data disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Public SSH key for accessing cloud nodes.
# This key will be added to the user on created nodes (the user name depends on the image used).
sshPublicKey: *!CHANGE_SSH_KEY*
# Contains settings to connect to the Deckhouse Kubernetes Platform API.
provider:
# Kubeconfig to connect to Deckhouse Kubernetes Platform API, Base64-encoded.
kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
# Namespace in which DKP cluster resources will be created.
namespace: demo
---
# Section containing parameters of instance class for worker nodes.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
name: worker
spec:
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Defines a bootloader for the virtual machine.
bootloader: EFI
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
---
# Section containing parameters of worker node group.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
cloudInstances:
classReference:
kind: DVPInstanceClass
name: worker
# The maximum number of instances for the group in each zone (used by the autoscaler).
# You might consider changing this.
maxPerZone: 1
# The minimum number of instances for the group in each zone. To launch more nodes, increase maxPerZone or add more zones.
minPerZone: 1
nodeType: CloudEphemeral
---
# Section containing parameters of the NGINX Ingress controller.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
inlet: LoadBalancer
# Describes on which nodes the Ingress Controller will be located. The label "node.deckhouse.io/group: <NAME_GROUP_NAME>" is set automatically.
nodeSelector:
node.deckhouse.io/group: worker
---
# RBAC and authorization settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
name: admin
spec:
subjects:
- kind: User
name: admin@deckhouse.io
accessLevel: SuperAdmin
portForwarding: true
---
# Parameters of the static user.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
name: admin
spec:
# User e-mail.
email: admin@deckhouse.io
# This is a hash of the password <GENERATED_PASSWORD>, generated when loading the page of the Getting Started.
# Generate your own or use it at your own risk (for testing purposes)
# echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
# You might consider changing this.
password: <GENERATED_PASSWORD_HASH>
Enter license key
Have no key?
The recommended settings for a Deckhouse Kubernetes Platform Enterprise Edition installation are generated below:
config.yml
— a file with the configuration needed to bootstrap the cluster. Contains the installer parameters, cloud provider related parameters (such as credentials, instance type, etc), description of the resources that must be installed after the installation (nodes description, Ingress controller description, etc), access parameters and the initial cluster parameters.
Please pay attention to:
- highlighted parameters you must define.
- parameters you might want to change.
Create the config.yml
file.
# General cluster parameters.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#clusterconfiguration
apiVersion: deckhouse.io/v1
kind: ClusterConfiguration
clusterType: Cloud
cloud:
provider: DVP
# A prefix of objects that are created in the cloud during the installation.
# You might consider changing this.
prefix: cloud-demo
# Address space of the cluster's Pods.
# Must not overlap with the address space of DVP Pods.
podSubnetCIDR: 10.112.0.0/16
# Address space of the cluster's services.
# Must not overlap with the address space of DVP services.
serviceSubnetCIDR: 10.223.0.0/16
kubernetesVersion: "Automatic"
clusterDomain: "cluster.local"
---
# Settings for bootstrapping the Deckhouse cluster.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/installing/configuration.html#initconfiguration
apiVersion: deckhouse.io/v1
kind: InitConfiguration
deckhouse:
imagesRepo: registry.deckhouse.io/deckhouse/<REVISION>
# A special string with your token to access Docker registry (generated automatically for your license token).
registryDockerCfg: <YOUR_ACCESS_STRING_IS_HERE>
---
# Deckhouse module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/002-deckhouse/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: deckhouse
spec:
version: 1
enabled: true
settings:
bundle: Default
releaseChannel: Stable
logLevel: Info
---
# Global Deckhouse settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/deckhouse-configure-global.html#parameters
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: global
spec:
version: 2
settings:
modules:
# Template that will be used for system app domains within the cluster.
# For example, Grafana for %s.example.com will be available as 'grafana.example.com'.
# The domain MUST NOT match the one specified in the clusterDomain parameter of the ClusterConfiguration resource.
# You can change it to your own or follow the steps in the guide and change it after installation.
publicDomainTemplate: "%s.example.com"
---
# User-authn module settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: user-authn
spec:
version: 2
enabled: true
settings:
controlPlaneConfigurator:
dexCAMode: DoNotNeed
# Enabling access to the API server through Ingress.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/configuration.html#parameters-publishapi
publishAPI:
enabled: true
https:
mode: Global
global:
kubeconfigGeneratorMasterCA: ""
---
# Cloud provider settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cluster_configuration.html
apiVersion: deckhouse.io/v1
kind: DVPClusterConfiguration
layout: Standard
masterNodeGroup:
replicas: 1
instanceClass:
rootDiskSize: 40
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Static IP addresses (or Auto for automatic IP address assignment) to be assigned to the network interfaces of the virtual machines. The number of addresses must match the number of replicas being created — each IP address will be assigned to a specific virtual machine replica.
ipAddresses:
- Auto
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
# Settings for the etcd data disk.
etcdDisk:
# Etcd disk size.
size: 15Gi
# Name of the existing StorageClass will be used to create the etcd data disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Public SSH key for accessing cloud nodes.
# This key will be added to the user on created nodes (the user name depends on the image used).
sshPublicKey: *!CHANGE_SSH_KEY*
# Contains settings to connect to the Deckhouse Kubernetes Platform API.
provider:
# Kubeconfig to connect to Deckhouse Kubernetes Platform API, Base64-encoded.
kubeconfigDataBase64: *!CHANGE_KUBERNETES_CONFIG_BASE64*
# Namespace in which DKP cluster resources will be created.
namespace: demo
---
# Section containing parameters of instance class for worker nodes.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/030-cloud-provider-dvp/cr.html
apiVersion: deckhouse.io/v1
kind: DVPInstanceClass
metadata:
name: worker
spec:
# Virtual machine settings for the created master node.
virtualMachine:
# CPU settings for the virtual machine.
cpu:
# Number of CPU cores for the virtual machine.
cores: 4
# Guaranteed share of CPU that will be allocated to the virtual machine.
coreFraction: 100%
# Specifies the memory settings for the virtual machine.
memory:
# Amount of memory resources allowed for the virtual machine.
size: 8Gi
# The name of the VirtualMachineClass.
virtualMachineClassName: general
# Defines a bootloader for the virtual machine.
bootloader: EFI
# Specifies settings for the root disk of the virtual machine.
rootDisk:
# Root disk size.
size: 50Gi
# Name of the existing StorageClass will be used to create the virtual machine's root disk.
storageClass: ceph-pool-r2-csi-rbd-immediate
# Image parameters that will be used to create the virtual machine's root disk.
image:
# Kind of the image source.
kind: ClusterVirtualImage
# Name of the image that will be used to create the root disk.
# The installation requires Linux OS images with cloud-init pre-installed.
name: ubuntu-2204
---
# Section containing parameters of worker node group.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/040-node-manager/cr.html#nodegroup
apiVersion: deckhouse.io/v1
kind: NodeGroup
metadata:
name: worker
spec:
cloudInstances:
classReference:
kind: DVPInstanceClass
name: worker
# The maximum number of instances for the group in each zone (used by the autoscaler).
# You might consider changing this.
maxPerZone: 1
# The minimum number of instances for the group in each zone. To launch more nodes, increase maxPerZone or add more zones.
minPerZone: 1
nodeType: CloudEphemeral
---
# Section containing parameters of the NGINX Ingress controller.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
inlet: LoadBalancer
# Describes on which nodes the Ingress Controller will be located. The label "node.deckhouse.io/group: <NAME_GROUP_NAME>" is set automatically.
nodeSelector:
node.deckhouse.io/group: worker
---
# RBAC and authorization settings.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/140-user-authz/cr.html#clusterauthorizationrule
apiVersion: deckhouse.io/v1
kind: ClusterAuthorizationRule
metadata:
name: admin
spec:
subjects:
- kind: User
name: admin@deckhouse.io
accessLevel: SuperAdmin
portForwarding: true
---
# Parameters of the static user.
# https://deckhouse.io/products/kubernetes-platform/documentation/v1/modules/150-user-authn/cr.html#user
apiVersion: deckhouse.io/v1
kind: User
metadata:
name: admin
spec:
# User e-mail.
email: admin@deckhouse.io
# This is a hash of the password <GENERATED_PASSWORD>, generated when loading the page of the Getting Started.
# Generate your own or use it at your own risk (for testing purposes)
# echo "<GENERATED_PASSWORD>" | htpasswd -BinC 10 "" | cut -d: -f2 | base64 -w0
# You might consider changing this.
password: <GENERATED_PASSWORD_HASH>
Use a container image to install the Deckhouse Kubernetes Platform. It is necessary to transfer configuration file to the container as well as SSH keys for accessing the master node (further, it is assumed that the SSH key ~/.ssh/id_rsa
from the personal computer of the user performing the installation is used).
Run the installer on the personal computer.
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" \
-v "$PWD/dhctl-tmp:/tmp/dhctl" registry.deckhouse.io/deckhouse/ce/install:stable bash
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" -v "%cd%\dhctl-tmp:/tmp/dhctl" registry.deckhouse.io/deckhouse/ce/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml
The --ssh-user
parameter here refers to the default user for the relevant VM image. It is ubuntu
for the image suggested in this guide.
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Kubernetes Platform to work!
Use a container image to install the Deckhouse Kubernetes Platform. It is necessary to transfer configuration file to the container as well as SSH keys for accessing the master node (further, it is assumed that the SSH key ~/.ssh/id_rsa
from the personal computer of the user performing the installation is used).
Run the installer on the personal computer.
Log in on the personal computer to the container image registry:
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.io/deckhouse/be/install:stable bash
Log in on the personal computer to the container image registry by providing the license key as a password:
docker login -u license-token registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.io/deckhouse/be/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml
The --ssh-user
parameter here refers to the default user for the relevant VM image. It is ubuntu
for the image suggested in this guide.
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Kubernetes Platform to work!
Use a container image to install the Deckhouse Kubernetes Platform. It is necessary to transfer configuration file to the container as well as SSH keys for accessing the master node (further, it is assumed that the SSH key ~/.ssh/id_rsa
from the personal computer of the user performing the installation is used).
Run the installer on the personal computer.
Log in on the personal computer to the container image registry:
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.io/deckhouse/se/install:stable bash
Log in on the personal computer to the container image registry by providing the license key as a password:
docker login -u license-token registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.io/deckhouse/se/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml
The --ssh-user
parameter here refers to the default user for the relevant VM image. It is ubuntu
for the image suggested in this guide.
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Kubernetes Platform to work!
Use a container image to install the Deckhouse Kubernetes Platform. It is necessary to transfer configuration file to the container as well as SSH keys for accessing the master node (further, it is assumed that the SSH key ~/.ssh/id_rsa
from the personal computer of the user performing the installation is used).
Run the installer on the personal computer.
Log in on the personal computer to the container image registry:
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.io/deckhouse/se-plus/install:stable bash
Log in on the personal computer to the container image registry by providing the license key as a password:
docker login -u license-token registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.io/deckhouse/se-plus/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml
The --ssh-user
parameter here refers to the default user for the relevant VM image. It is ubuntu
for the image suggested in this guide.
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Kubernetes Platform to work!
Use a container image to install the Deckhouse Kubernetes Platform. It is necessary to transfer configuration file to the container as well as SSH keys for accessing the master node (further, it is assumed that the SSH key ~/.ssh/id_rsa
from the personal computer of the user performing the installation is used).
Run the installer on the personal computer.
Log in on the personal computer to the container image registry:
echo <LICENSE_TOKEN> | docker login -u license-token --password-stdin registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "$PWD/config.yml:/config.yml" -v "$HOME/.ssh/:/tmp/.ssh/" registry.deckhouse.io/deckhouse/ee/install:stable bash
Log in on the personal computer to the container image registry by providing the license key as a password:
docker login -u license-token registry.deckhouse.io
Run a container with the installer:
docker run --pull=always -it -v "%cd%\config.yml:/config.yml" -v "%userprofile%\.ssh\:/tmp/.ssh/" registry.deckhouse.io/deckhouse/ee/install:stable bash -c "chmod 400 /tmp/.ssh/id_rsa; bash"
Now, to initiate the process of installation, you need to execute inside the container:
dhctl bootstrap --ssh-user=ubuntu --ssh-agent-private-keys=/tmp/.ssh/id_rsa --config=/config.yml
The --ssh-user
parameter here refers to the default user for the relevant VM image. It is ubuntu
for the image suggested in this guide.
The installation process may take about from 5 to 30 minutes, depending on the connection.
After the installation is complete, the installer will output the IP of the master node (you will need it further). Example output:
...
┌ 🎈 ~ Common: Kubernetes Master Node addresses for SSH
│ cloud-demo-master-0 | ssh ubuntu@1.2.3.4
└ 🎈 ~ Common: Kubernetes Master Node addresses for SSH (0.00 seconds)
Almost everything is ready for a fully-fledged Deckhouse Kubernetes Platform to work!