### _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>
3.1 KiB
3.1 KiB
Getting Started With Kyuubi on kubernetes
Running kyuubi with helm
Helm is the package manager for Kubernetes,it 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