kyuubi/docs/quick_start/quick_start_with_helm.md
dnskr 68bd64c944
[KYUUBI #4034] [K8S][HELM] Move helm chart to dedicated directory
### _Why are the changes needed?_
The changes are needed to be compliant with Helm recommendations:
1. https://helm.sh/docs/topics/charts/#the-chart-file-structure
```
The directory name is the name of the chart (without versioning information).
Thus, a chart describing WordPress would be stored in a wordpress/ directory.
```
2. https://helm.sh/docs/howto/chart_releaser_action/#repository-changes
```
The charts should be placed under /charts directory at the top-level of the directory tree.
```

### _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.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #4034 from dnskr/move_helm_chart_to_dedicated_directory.

Closes #4034

b6f4b661 [dnskr] [K8S][HELM] Move helm chart to dedicated directory

Authored-by: dnskr <dnskrv88@gmail.com>
Signed-off-by: ulysses-you <ulyssesyou@apache.org>
2022-12-28 09:20:50 +08:00

3.1 KiB
Raw Blame History

Getting Started With Kyuubi on kubernetes

Running kyuubi with helm

Helm is the package manager for Kubernetesit can be used to find, share, and use software built for Kubernetes.

Get helm and Install

Please go to Install Helm page to get and install an appropriate release version for yourself.

Get Kyuubi Started

[Optional] Create namespace on kubernetes

create ns kyuubi

Get kyuubi started

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.

NAME: kyuubi-helm
LAST DEPLOYED: Wed Oct 20 15:22:47 2021
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

Using hive beeline

Using Hive Beeline to opening a connection.

Remove kyuubi

helm uninstall kyuubi-helm -n ${namespace_name}

Edit server config

Modify values.yaml under ${KYUUBI_HOME}/docker/helm:

# Kyuubi server numbers
replicaCount: 2

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

Get server log

List all server pods:

kubectl get po -n ${namespace_name}

The server pods will print:

NAME                             READY   STATUS    RESTARTS   AGE
kyuubi-server-585d8944c5-m7j5s   1/1     Running   0          30m
kyuubi-server-32sdsa1245-2d2sj   1/1     Running   0          30m

then, use pod name to get logs:

kubectl -n ${namespace_name} logs kyuubi-server-585d8944c5-m7j5s