English | 简体中文
Users can quickly deploy KDP on an existing Kubernetes cluster using the CLI.
/var/lib/openebs
directory (/var/lib/openebs
is the default storage volume directory of KDP)$HOME/.kube/config
on the machine to install KDP infrastructurego install
at project rootSingle-command install by KDP CLI:
# > specify "--debug" to enable debug logging
kdp install
Runtime parameters are supported via "--set k1=v1 --set k2=v2 ..." when install or upgrade. All supported runtime parameters are as follows (all are optional parameters) :
Parameters | Description | Default Value | Support Update or not | Notes |
---|---|---|---|---|
namespace | The namespace in which the KDP infrastructure layer services are installed | kdp-system | N | A force update after installation will cause services to be redeployed to the new namespace and volumes to be reclaimed, resulting in data loss |
imagePullSecret | Image pulling secret name | cr-secret | Y | |
storageConfig.storageClassMapping.localDisk | The name of the storage class to use for the KDP volume claiming | openebs | N | - If you need to use an existing storage class (such as the cloud disk CSI provided by the public cloud K8s products, etc.), you can specify this parameter during installation - A force update will cause the storage volume to be re-claimed, resulting in data loss |
kong.enabled | Whether to install Kong Ingress | true | Y | If you want to use an existing Ingress Controller on the K8s cluster, set it to 'false', also set the 'ingress.class' as existing IngressClass name |
kong.replicas | Kong Ingress replicas | 4 | Y | |
ingress.class | IngressClass used by KDP Ingress | kong | Y | |
ingress.domain | The root domain used by KDP Ingress | kdp-e2e.io | Y | This parameter can be set if a custom domain name is used |
ingress.tlsSecretName | TLS secret used by the KDP Ingress | "" | Y | This parameter can be set if a custom domain name and TLS are used |
prometheusCRD.enabled | Whether to install Prometheus Operator CRD | true | Y | You may turn this off if you want to use existing kube-prometheus-stack on K8s cluster |
prometheus.enabled | Whether to install Prometheus Operator/Prometheus/Alertmanager/Grafana | true | Y | You may turn this off if you want to use existing kube-prometheus-stack on K8s cluster |
prometheus.externalUrl | The Prometheus service address used by the KDP observability feature | "" | Y | Set only when using external Prometheus service |
loki.enabled | Whether to install Loki | true | Y | You may turn this off if you want to use existing Loki service on K8s cluster |
loki.externalUrl | The Loki service address used by the KDP observability feature | "" | Y | Set only when using external Loki service |
grafana.externalUrl | The Grafana service address used by the KDP observability feature | "" | Y | Set only when using external Grafana service |
mysqlArch | The architecture used by KDP built-in MySQL | standalone | N | - can be specified as replication if using primary-secondary replication mode - A force update will cause MySQL volumes to be reclaimed resulting in data loss |
mysqlDiskSize | The storage size claimed by KDP built-in MySQL | 10Gi | N | Force updates will not take effect after installation, as K8s StatefulSets workloads do not support dynamic update of storage volume size |
xtrabackup.enabled | Whether to install MySQL XtraBackup | false | Y | Backup data by enabling XtraBackup container on MySQL Pod |
xtrabackup.diskSize | Backup storage volume size for MySQL XtraBackup | 10Gi | N | Force updates will not take effect after installation, as K8s StatefulSets workloads do not support dynamic update of storage volume size |
systemMysql.debug | Whether to enable debug logging for KDP built-in MySQL | false | Y | |
systemMysql.host | MySQL service address used by the KDP infrastructure services | mysql | Y | - Do not set if using KDP built-in MySQL - Set only when using external MySQL service |
systemMysql.port | MySQL service port used by the KDP infrastructure services | 3306 | Y | - Do not set if using KDP built-in MySQL - Set only when using external MySQL service |
systemMysql.users.root.user | root user name of KDP built-in MySQL | root | N | - Effective only when using KDP built-in MySQL - A force update after installation will cause KDP built-in MySQL workloads to operate abnormally |
systemMysql.users.root.password | root user password of KDP built-in MySQL(base64 encoded) | a2RwUm9vdDEyMyo= | N | - Effective only when using KDP built-in MySQL - A force update after installation will cause KDP built-in MySQL workloads to operate abnormally |
systemMysql.users.kdpAdmin.user | MySQL user name used by the KDP infrastructure services | kdpAdmin | Y | - If using KDP built-in MySQL, the user will be automatically created - If using external MySQL, specify the corresponding user name |
systemMysql.users.kdpAdmin.password | MySQL user password used by the KDP infrastructure services(base64 encoded) | a2RwQWRtaW4xMjMq | Y | - If using KDP built-in MySQL, the user password will be automatically set - If using external MySQL, specify the corresponding user password |
dnsService.name | The DNS service name used by KDP logging gateway for service discovery | coredns | Y | Used in conjunction with the dnsService.namespace parameter, only specified if the DNS service of the K8s cluster does not use CoreDNS |
dnsService.namespace | The DNS service namespace used by KDP logging gateway for service discovery | kube-system | Y |
After the installation is complete, you can access the KDP UX in either of the following situations(if specified "--set ingress.tlsSecretName=<YOUR_TLS_SECERT>" previously, use HTTPS protocol):
http://kdp-ux.<YOUR_DOMAIN>
Single-command upgrade by KDP CLI:
# > specify "--debug" to enable debug logging
# > specify "--src-upgrade" to upgrade the latest KDP infrastructure manifests
# > specify "--vela-upgrade" to upgrade KDP Vela service
# > specify "--set k1=v1 --set k2=v2 ..." to upgrade runtime parameters of KDP infrastructure
kdp upgrade --set k1=v1 --set k2=v2 ...
When the KDP infrastructure layer is installed, users can install KDP big data application layer components through the web interface by KDP UX.
KDP built-in application catalogs can be referred to:Catalog Overview