Skip to content

Commit

Permalink
[KYUUBI #1047] Use deployment to run kyuubi server HA on k8s
Browse files Browse the repository at this point in the history
<!--
Thanks for sending a pull request!

Here are some tips for you:
  1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html
  2. If the PR is related to an issue in https://github.com/apache/incubator-kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'.
  3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'.
-->

### _Why are the changes needed?_
<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the use case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->
kyuubi-pod.yaml start a single kyuubi server, use deployment to start multiple servers.

### _How was this patch tested?_
- [X] 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/latest/develop_tools/testing.html#running-tests) locally before make a pull request

Closes #1048 from hddong/add-k8s-deployment.

Closes #1047

661463b [hongdongdong] [KYUUBI#1047] Use deployment to run kyuubi server HA on k8s

Authored-by: hongdongdong <hongdongdong@cmss.chinamobile.com>
Signed-off-by: Kent Yao <yao@apache.org>
  • Loading branch information
hddong authored and yaooqinn committed Sep 8, 2021
1 parent e3ba77c commit 6509a6b
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions docker/kyuubi-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Usage:
# ConfigMap:
# DEMO:
# kubectl apply -f https://raw.githubusercontent.com/apache/incubator-kyuubi/master/docker/kyuubi-configmap.yaml
# LOCAL:
# kubectl create cm kyuubi-defaults --from-file=${KYUUBI_HOME}/conf/kyuubi-defaults.conf
# Start:
# kubectl apply -f https://raw.githubusercontent.com/apache/incubator-kyuubi/master/docker/kyuubi-deployment.yaml
# Expose port with NodePort:
# see usage of kyuubi-service.yaml
# Config change:
# 1. edit ConfigMap
# kubectl edit cm kyuubi-defaults
# 2. restart deployment
# kubectl delete -f https://raw.githubusercontent.com/apache/incubator-kyuubi/master/docker/kyuubi-deployment.yaml
# kubectl apply -f https://raw.githubusercontent.com/apache/incubator-kyuubi/master/docker/kyuubi-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: kyuubi-deployment-example
labels:
app: kyuubi-server
spec:
replicas: 3
selector:
matchLabels:
app: kyuubi-server
template:
metadata:
labels:
app: kyuubi-server
spec:
containers:
- name: kyuubi-server
# TODO: replace this with the official repo
image: yaooqinn/kyuubi:1.3.0
imagePullPolicy: IfNotPresent
env:
- name: KYUUBI_JAVA_OPTS
value: -Dkyuubi.frontend.bind.host=0.0.0.0
ports:
- name: frontend-port
containerPort: 10009
protocol: TCP
volumeMounts:
- name: kyuubi-defaults
mountPath: /opt/kyuubi/conf
volumes:
- name: kyuubi-defaults
configMap:
name: kyuubi-defaults

0 comments on commit 6509a6b

Please sign in to comment.