From faa80ede768e5728415d44fc19621b1e7c47256d Mon Sep 17 00:00:00 2001 From: uma-kt <105046156+uma-kt@users.noreply.github.com> Date: Mon, 14 Aug 2023 14:25:45 +0530 Subject: [PATCH] updated the parameter description in the v1.0.0 docs --- .../kubeslice-cli/command-reference.mdx | 16 ++--- .../kubeslice-cli/install-kubeslice.mdx | 10 ++++ .../kubeslice-cli/topology-configuration.mdx | 59 +++++++++++++++++-- 3 files changed, 71 insertions(+), 14 deletions(-) diff --git a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/command-reference.mdx b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/command-reference.mdx index 9e1c1451..ed0c7bcb 100644 --- a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/command-reference.mdx +++ b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/command-reference.mdx @@ -35,13 +35,13 @@ The following are the kubeslice-cli options. | --version | -v | It is the version of the `kubeslice-cli` tool. | :::note -The kubeslice-cli tool must have access to the clusters you want it to manage. To grant it access, set the KUBECONFIG environment variable to -a path to the kubeconfig file containing the necessary keys to access those clusters. -To set the KUBECONFIG environment varible, use these commands: +The kubeslice-cli tool must have access to the clusters you want it to manage. To grant it access, set the KUBECONFIG environment +variable to a path to the kubeconfig file containing the necessary keys to access those clusters. +To set the KUBECONFIG environment variable, use these commands: - On Linux/macOS: `export KUBECONFIG=` - On Windows: `$env:KUBECONFIG = "kubeslice/kubeconfig.yaml"` - ::: +::: :::caution @@ -49,7 +49,7 @@ To set the KUBECONFIG environment varible, use these commands: following command to determine which context you are currently in: `kubectx -c`. - The currently supported operations are all controller cluster specific. You must run the kubeslice-cli commands on the controller cluster. use this command to switch the cluster context: `kubectx `. - ::: +::: ## create @@ -593,7 +593,7 @@ Use this command to install the required workloads to run KubeSlice Controller a ``` kubeslice-cli --config kubeslice-cli install -kubeslice-cli install --profile= +kubeslice-cli install --profile= ``` ### Options @@ -602,8 +602,8 @@ The following are the `kubeslice-cli install` command options. | Option | Shorthand | Description | Supported Values | | ------------------- | --------- | ----------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| --profile | -p | It is the profile to install or uninstall KubeSlice. | **full-demo**: showcases the KubeSlice inter-cluster connectivity by spawning 3 kind clusters, including 1 KubeSlice Controller and 2 worker clusters, and installing iPerf application to generate network traffic. **minimal-demo**: sets up 3 kind clusters, including 1 KubeSlice Controller and 2 worker clusters. Generates the Kubernetes manifests for user to manually apply, and verify the functionality. | -| --skip | -s | It skips the installation steps (comma-separated) with `minimal-demo` and `full-demo` options. | **kind**: skips the creation of kind clusters. **calico**: skips the installation of Calico. **controller**: skips the installation of KubeSlice Controller. **worker-registration**: skips the registration of worker clusters with the KubeSlice Controller. **worker**: skips the installation of worker clusters. **demo**: skips the installation of additional example applications. | +| --profile | -p | It is the profile to install or uninstall KubeSlice. | **full-demo**: showcases the KubeSlice inter-cluster connectivity by spawning 3 kind clusters, including 1 KubeSlice Controller and 2 worker clusters, and installing iPerf application to generate network traffic. **minimal-demo**: sets up 3 kind clusters, including 1 KubeSlice Controller and 2 worker clusters. Generates the Kubernetes manifests for user to manually apply, and verify the functionality. **enterprise-demo**: showcases the KubeSlice Enterprise functionality by spawning 3 kind clusters, including 1 KubeSlice Controller and 2 KubeSlice Workers. Installs the Enterprise charts for the controller, the worker(s), the KubeSlice Manager (UI), and iPerf application to generate network traffic. The imagePullSecrets (username and password) listed must be set as environment variables: **KUBESLICE_IMAGE_PULL_USERNAME**: `optional`, the default value is `aveshaenterprise`. **KUBESLICE_IMAGE_PULL_PASSWORD**: `required`. | +| --skip | -s | It skips the installation steps (comma-separated) with `minimal-demo`, `full-demo`, and `enterprise-demo` options. | **kind**: skips the creation of kind clusters. **calico**: skips the installation of Calico. **controller**: skips the installation of KubeSlice Controller. **worker-registration**: skips the registration of worker clusters with the KubeSlice Controller. **worker**: skips the installation of worker clusters. **demo**: skips the installation of additional example applications. **prometheus**: skips the installation of the Prometheus. | | --config | -c | It is a **global** option. The path to the topology configuration YAML file. | | --with-cert-manager | | It installs the cert-manager charts. **This is required for the KubeSlice Controller v0.7.0 and below versions.** | | --help | -h | It provides information on the install command. | diff --git a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/install-kubeslice.mdx b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/install-kubeslice.mdx index 95e711e1..03e7fc9d 100644 --- a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/install-kubeslice.mdx +++ b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/install-kubeslice.mdx @@ -13,6 +13,16 @@ controller cluster and the worker cluster names. The file should include other r as described in the sample configuration file provided below. This file is essential in setting up KubeSlice. +Custom chart values can be specified in the topology configuration. For example, you can add `values:metrics.insecure=true` under +**configuration.helm_chart_configuration.worker_chart** for worker charts. +``` +worker_chart: + chart_name: kubeslice-worker + values: + "metrics.insecure": "true" + "some.other.key": "value" +``` + ### Sample Topology Configuration File The following a minimal configuration file to install KubeSlice Enterprise on cloud clusters: diff --git a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/topology-configuration.mdx b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/topology-configuration.mdx index 8e5ca5b9..003cac32 100644 --- a/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/topology-configuration.mdx +++ b/versioned_docs/version-1.0.0/install-kubeslice/kubeslice-cli/topology-configuration.mdx @@ -19,7 +19,7 @@ The following table describes the controller cluster configuration parameters us | Parameter | Parameter Type | Description | Required | | --------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -| name | String | The user-defined name of the controller cluster. | Mandatory | +| name | String | The user-defined name of the controller cluster. The maximum allowed number of characters is 30. Provide the name as defined in [RFC 1123](#https://datatracker.ietf.org/doc/html/rfc1123). To know more, see [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/). | Mandatory | | context_name | String | The name of the context to use from the kubeconfig file; It is used in the topology YAML file. | Optional | | kube_config_path | String | The absolute path to the kubeconfig file to install controller cluster. This takes precedence over the kubeconfig path defined under cluster configuration. | Optional | | control_plane_address | AlphaNumeric | The address of the control plane kube-apiserver. The kubeslice-cli determines the address from kubeconfig. Override this option if the address in the kubeconfig is not reachable by other clusters in the topology. | Mandatory | @@ -31,8 +31,8 @@ The following table describes the worker cluster configuration parameters. | Parameter | Parameter Type | Description | Required | | --------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -| name | String | The user-defined name of the worker cluster. | Mandatory | -| context_name | String | The name of the context to use from kubeconfig file; It is used in the topology YAML only. | Optional | +| name | String | The user-defined name of the worker cluster. The maximum allowed number of characters is 30. Provide the name as defined in [RFC 1123](#https://datatracker.ietf.org/doc/html/rfc1123). To know more, see [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/). | Mandatory | +| context_name | String | The name of the context to use from kubeconfig file; It is used in the topology YAML only. Use the short alias name. For example, you can use `worker-cluster` or `api-cluster` as the cluster contexts. | Optional | | kube_config_path | String | The absolute path to the kubeconfig file to install a worker cluster. This takes precedence over the kubeconfig path defined under cluster configuration. | Optional | | control_plane_address | AlphaNumeric | The address of the control plane `kube-apiserver`. The kubeslice-cli determines the address from kubeconfig. Override this option if the address in the kubeconfig is not reachable by other clusters in the topology. | Mandatory | | node_ip | Numeric | The IP address of one of the node in the cluster. The kubeslice-cli determines the address from this command:`kubectl get nodes`. Override this option to an address which is discoverable by other clusters in the topology. | Mandatory | @@ -42,7 +42,7 @@ The following table describes the KubeSlice configuration parameters. | Parameter | Parameter Type | Description | Required | | ------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -| project_name | String | the user-defined name of the Kubeslice project. | Mandatory | +| project_name | String | the user-defined name of the Kubeslice project. The maximum allowed number of characters is 30. Provide the name as defined in [RFC 1123](#https://datatracker.ietf.org/doc/html/rfc1123). To know more, see [Kubernetes Object Names and IDs](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/). | Mandatory | | project_users | String | This contains the list of KubeSlice project users to be created. The users will have read/write privileges. By default, admin user is created. | Optional | ## Helm Chart Configuration Parameters @@ -55,9 +55,11 @@ The following table describes the helm chart configuration parameters. | [cert_manager_chart](#certificate-manager-chart-configuration-parameters) | Object | The cert-manager chart details. | Mandatory | | [controller_chart](#controller-chart-configuration-parameters) | Object | The Kubeslice Controller chart details. | Mandatory | | [worker_chart](#worker-chart-configuration-parameters) | Object | The KubeSlice Worker chart details. | Mandatory | +| [ui_chart](#ui-chart-configuration-parameters) | Object | The KubeSlice Manager chart details. Required for Enterprise charts only. | Optional | +| [prometheus_chart](#prometheus-chart-configuration-parameters) | Object | The Prometheus chart details. Required for Enterprise charts only. | Optional | | helm_username | AlphaNumeric | The helm username if the repo is private. | Optional | | helm_password | AlphaNumeric | The helm password if the repo is private. | Optional | -| [image_pull_secret](#image-pull-configuration-parameters) | Object | The image pull secrets to pull the Kubernetes dashboard image. Required for Enterprise charts. | Mandatory | +| [image_pull_secret](#image-pull-configuration-parameters) | Object | The image pull secrets to pull the Kubernetes dashboard image. Required for Enterprise charts only. | Mandatory | ## Certificate Manager Chart Configuration Parameters The following table describes the certificate manager chart configuration parameters used to create topology YAML. @@ -85,6 +87,34 @@ The following table describes the worker chart configuration parameters used to | version | Numeric | The version of the chart. Leave this value blank for the latest version. | Optional | | values | String | The additional value that can be passed as --set arguments for **helm install**. | Optional | +## UI Chart Configuration Parameters +The following table describes the UI chart configuration parameters used to create topology YAML. + +| Parameter | Parameter Type | Description | Required | +| ---------- | -------------- | -------------------------------------------------------------------------------- | --------- | +| chart_name | String | The name of the UI or enterprise chart. | Mandatory | +| version | Numeric | The version of the chart. Leave it blank for the latest version. | Optional | +| values | String | The additional value that can be passed as --set arguments for **helm install**. | Optional | + +## Prometheus Chart Configuration parameters +The following table describes the Prometheus chart configuration parameters used to create topology YAML. + +| Parameter | Parameter Type | Description | Required | +| ---------- | -------------- | -------------------------------------------------------------------------------- | --------- | +| chart_name | String | The name of the Prometheus chart. | Mandatory | +| version | Numeric | The version of the chart. Leave it blank for the latest version. | Optional | +| values | String | The additional value that can be passed as --set arguments for **helm install**. | Optional | + +## Image Pull Secret Configuration Parameters +The following table describes the image pull secret configuration parameters used to create topology YAML. + +| Parameter | Parameter Type | Description | Required | +| --------- | -------------- | ------------------------------------------------------ | --------- | +| registry | String | The endpoint of the OCI registry to use. | Mandatory | +| username | AlphaNumeric | The username to authenticate against the OCI registry. | Mandatory | +| password | AlphaNumeric | The password to authenticate against the OCI registry. | Mandatory | +| email | AlphaNumeric | The email to authenticate against the OCI registry. | Mandatory | + :::note @@ -131,7 +161,7 @@ configuration: #{Override this flag to an address which is discoverable by other clusters in the topology} kubeslice_configuration: project_name: #{the name of the KubeSlice Project} - project_users: #{optional: specify KubeSlice Project users with Readw-Write access. Default is admin} + project_users: #{optional: specify KubeSlice Project users with Read-Write access. Default is admin} helm_chart_configuration: repo_alias: #{The alias of the helm repo for KubeSlice Charts} repo_url: #{The URL of the Helm Charts for KubeSlice} @@ -146,4 +176,21 @@ configuration: chart_name: #{The name of the Worker Chart} version: #{The version of the chart to use. Leave blank for latest version} values: #(Values to be passed as --set arguments to helm install) + + # The ui_chart, prometheus_chart, and image_pull_secret parameters are required for enterprise chart only + ui_chart: + chart_name: #{The name of the UI/Enterprise Chart} + version: #{The version of the chart to use. Leave blank for latest version} + values: #(Values to be passed as --set arguments to helm install) + prometheus_chart: + chart_name: #{The name of the Prometheus Chart} + version: #{The version of the chart to use. Leave blank for latest version} + values: #(Values to be passed as --set arguments to helm install) + helm_username: #{Helm Username if the repo is private} + helm_password: #{Helm Password if the repo is private} + image_pull_secret: #{The image pull secrets. Optional for OpenSource, required for enterprise} + registry: #{The endpoint of the OCI registry to use. Default is `https://index.docker.io/v1/`} + username: #{The username to authenticate against the OCI registry} + password: #{The password to authenticate against the OCI registry} + email: #{The email to authenticate against the OCI registry} ``` \ No newline at end of file