[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 <chengpan@apache.org>

Closes #4314 from dnskr/update_helm_chart_doc_page.

Closes #4314

d7c18fd53 [dnskr] [DOCS][HELM] Refine helm chart docs

Authored-by: dnskr <dnskrv88@gmail.com>
Signed-off-by: Cheng Pan <chengpan@apache.org>
This commit is contained in:
dnskr 2023-02-13 00:40:52 +08:00 committed by Cheng Pan
parent b6ebd5e8c5
commit 68b70ca1d2
No known key found for this signature in database
GPG Key ID: 8001952629BCC75D

View File

@ -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 Kubernetesit 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
```