From 68b70ca1d2a969c6c1664bb5e51e986fe5d474dc Mon Sep 17 00:00:00 2001 From: dnskr Date: Mon, 13 Feb 2023 00:40:52 +0800 Subject: [PATCH] [KYUUBI #4314] [DOCS][HELM] Refine helm chart docs ### _Why are the changes needed?_ The changes are needed to make doc page clearer and a bit nicer, and reflect latest changes in the chart. ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request This patch had conflicts when merged, resolved by Committer: Cheng Pan Closes #4314 from dnskr/update_helm_chart_doc_page. Closes #4314 d7c18fd53 [dnskr] [DOCS][HELM] Refine helm chart docs Authored-by: dnskr Signed-off-by: Cheng Pan --- docs/quick_start/quick_start_with_helm.md | 133 +++++++++++----------- 1 file changed, 67 insertions(+), 66 deletions(-) diff --git a/docs/quick_start/quick_start_with_helm.md b/docs/quick_start/quick_start_with_helm.md index be3adb75c..a2de54445 100644 --- a/docs/quick_start/quick_start_with_helm.md +++ b/docs/quick_start/quick_start_with_helm.md @@ -15,105 +15,106 @@ - limitations under the License. --> -# Getting Started With Kyuubi on kubernetes +# Getting Started With Kyuubi on Kubernetes -## Running kyuubi with helm +## Running Kyuubi with Helm -[Helm](https://helm.sh/) is the package manager for Kubernetes,it can be used to find, share, and use software built for Kubernetes. +[Helm](https://helm.sh/) is the package manager for Kubernetes, it can be used to find, share, and use software built for Kubernetes. -### Get helm and Install +### Install Helm -Please go to [Install Helm](https://helm.sh/docs/intro/install/) page to get and install an appropriate release version for yourself. +Please go to [Installing Helm](https://helm.sh/docs/intro/install/) page to get and install an appropriate release version for yourself. ### Get Kyuubi Started -#### [Optional] Create namespace on kubernetes +#### Install the chart -```bash -kubectl create ns kyuubi +```shell +helm install kyuubi ${KYUUBI_HOME}/charts/kyuubi -n kyuubi --create-namespace ``` -#### Get kyuubi started +It will print release info with notes, including the ways to get Kyuubi accessed within Kubernetes cluster and exposed externally depending on the configuration provided. -```bash -helm install kyuubi-helm ${KYUUBI_HOME}/charts/kyuubi -n ${namespace_name} -``` - -It will print variables and the way to get kyuubi expose ip and port. - -```bash -NAME: kyuubi-helm -LAST DEPLOYED: Wed Oct 20 15:22:47 2021 +```shell +NAME: kyuubi +LAST DEPLOYED: Sat Feb 11 20:59:00 2023 NAMESPACE: kyuubi STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: -Get kyuubi expose URL by running these commands: - export NODE_PORT=$(kubectl get --namespace kyuubi -o jsonpath="{.spec.ports[0].nodePort}" services kyuubi-svc) - export NODE_IP=$(kubectl get nodes --namespace kyuubi -o jsonpath="{.items[0].status.addresses[0].address}") - echo $NODE_IP:$NODE_PORT +The chart has been installed! + +In order to check the release status, use: + helm status kyuubi -n kyuubi + or for more detailed info + helm get all kyuubi -n kyuubi + +************************ +******* Services ******* +************************ +THRIFT_BINARY: +- To access kyuubi-thrift-binary service within the cluster, use the following URL: + kyuubi-thrift-binary.kyuubi.svc.cluster.local +- To access kyuubi-thrift-binary service from outside the cluster for debugging, run the following command: + kubectl port-forward svc/kyuubi-thrift-binary 10009:10009 -n kyuubi + and use 127.0.0.1:10009 ``` -#### Using hive beeline +#### Uninstall the chart -[Using Hive Beeline](./quick_start.html#using-hive-beeline) to opening a connection. - -#### Remove kyuubi - -```bash -helm uninstall kyuubi-helm -n ${namespace_name} +```shell +helm uninstall kyuubi -n kyuubi ``` -#### Edit server config +#### Configure chart release -Modify `values.yaml` under `${KYUUBI_HOME}/docker/helm`: +Specify configuration properties using `--set` flag. +For example, to install the chart with `replicaCount` set to `1`, use the following command: + +```shell +helm install kyuubi ${KYUUBI_HOME}/charts/kyuubi -n kyuubi --create-namespace --set replicaCount=1 +``` + +Also, custom values file can be used to override default property values. For example, create `myvalues.yaml` to specify `replicaCount` and `resources`: ```yaml -# Kyuubi server numbers -replicaCount: 2 +replicaCount: 1 -image: - repository: apache/kyuubi - pullPolicy: Always - # Overrides the image tag whose default is the chart appVersion. - tag: "master-snapshot" - -server: - bind: - host: 0.0.0.0 - port: 10009 - conf: - mountPath: /opt/kyuubi/conf - -service: - type: NodePort - # The default port limit of kubernetes is 30000-32767 - # to change: - # vim kube-apiserver.yaml (usually under path: /etc/kubernetes/manifests/) - # add or change line 'service-node-port-range=1-32767' under kube-apiserver - port: 30009 +resources: + requests: + cpu: 2 + memory: 4Gi + limits: + cpu: 4 + memory: 10Gi ``` -#### Get server log +and use it to override default chart values with `-f` flag: -List all server pods: - -```bash -kubectl get po -n ${namespace_name} +```shell +helm install kyuubi ${KYUUBI_HOME}/charts/kyuubi -n kyuubi --create-namespace -f myvalues.yaml ``` -The server pods will print: +#### Access logs -```text -NAME READY STATUS RESTARTS AGE -kyuubi-server-585d8944c5-m7j5s 1/1 Running 0 30m -kyuubi-server-32sdsa1245-2d2sj 1/1 Running 0 30m +List all pods in the release namespace: + +```shell +kubectl get pod -n kyuubi ``` -then, use pod name to get logs: +Find Kyuubi pods: -```bash -kubectl -n ${namespace_name} logs kyuubi-server-585d8944c5-m7j5s +```shell +NAME READY STATUS RESTARTS AGE +kyuubi-5b6d496c98-kbhws 1/1 Running 0 38m +kyuubi-5b6d496c98-lqldk 1/1 Running 0 38m +``` + +Then, use pod name to get logs: + +```shell +kubectl logs kyuubi-5b6d496c98-kbhws -n kyuubi ```