You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2023/05/14 18:38:20 UTC

[kyuubi] branch supervisor created (now cf3f113e1)

This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a change to branch supervisor
in repository https://gitbox.apache.org/repos/asf/kyuubi.git


      at cf3f113e1 [K8S][HELM] Use supervisor to run kyuubi process

This branch includes the following new commits:

     new cf3f113e1 [K8S][HELM] Use supervisor to run kyuubi process

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[kyuubi] 01/01: [K8S][HELM] Use supervisor to run kyuubi process

Posted by ch...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch supervisor
in repository https://gitbox.apache.org/repos/asf/kyuubi.git

commit cf3f113e11f6ddf70fb02cfae4633c9a52b245dd
Author: Cheng Pan <ch...@apache.org>
AuthorDate: Mon May 15 02:38:01 2023 +0800

    [K8S][HELM] Use supervisor to run kyuubi process
---
 charts/kyuubi/templates/kyuubi-deployment.yaml |  4 ++--
 docker/Dockerfile                              | 26 +++++++++++++++++++++-----
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/charts/kyuubi/templates/kyuubi-deployment.yaml b/charts/kyuubi/templates/kyuubi-deployment.yaml
index 79d49a653..39c85bc5e 100644
--- a/charts/kyuubi/templates/kyuubi-deployment.yaml
+++ b/charts/kyuubi/templates/kyuubi-deployment.yaml
@@ -68,7 +68,7 @@ spec:
           {{- if .Values.livenessProbe.enabled }}
           livenessProbe:
             exec:
-              command: ["/bin/bash", "-c", "bin/kyuubi status"]
+              command: ["/usr/bin/supervisorctl status kyuubi"]
             initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
             periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
             timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
@@ -78,7 +78,7 @@ spec:
           {{- if .Values.readinessProbe.enabled }}
           readinessProbe:
             exec:
-              command: ["/bin/bash", "-c", "$KYUUBI_HOME/bin/kyuubi status"]
+              command: ["/usr/bin/supervisorctl status kyuubi"]
             initialDelaySeconds: {{ .Values.readinessProbe.initialDelaySeconds }}
             periodSeconds: {{ .Values.readinessProbe.periodSeconds }}
             timeoutSeconds: {{ .Values.readinessProbe.timeoutSeconds }}
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 0440022de..5f9ca69f4 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -50,11 +50,29 @@ ENV KYUUBI_WORK_DIR_ROOT ${KYUUBI_HOME}/work
 RUN set -ex && \
     sed -i 's/http:\/\/deb.\(.*\)/https:\/\/deb.\1/g' /etc/apt/sources.list && \
     apt-get update && \
-    apt-get install -y bash tini libc6 libpam-modules krb5-user libnss3 procps && \
+    apt-get install -y bash tini libc6 libpam-modules krb5-user libnss3 procps supervisor && \
     ln -snf /bin/bash /bin/sh && \
     useradd -u ${kyuubi_uid} -g root kyuubi -d /home/kyuubi -m && \
     mkdir -p ${KYUUBI_HOME} ${KYUUBI_LOG_DIR} ${KYUUBI_PID_DIR} ${KYUUBI_WORK_DIR_ROOT} && \
-    rm -rf /var/cache/apt/*
+    rm -rf /var/cache/apt/* && rm -rf /var/lib/apt/lists/*
+
+COPY <<"EOF" /etc/supervisor/conf.d/supervisord.conf
+[supervisord]
+nodaemon = true
+logfile = /var/log/supervisor/supervisord.log
+pidfile = /var/run/supervisord.pid
+childlogdir = /var/log/supervisor
+EOF
+
+# stop the supervisord once kyuubi process is stopped, see details at
+# https://github.com/Supervisor/supervisor/issues/712
+COPY <<"EOF" /etc/supervisor/conf.d/kyuubi.conf
+[program:kyuubi]
+command = bash -c "${KYUUBI_HOME}/bin/kyuubi run && kill -s SIGINT `cat supervisord.pid`"
+stopasgroup = true
+user=${kyuubi_uid}
+directory=${KYUUBI_HOME}
+EOF
 
 COPY LICENSE NOTICE RELEASE ${KYUUBI_HOME}/
 COPY bin ${KYUUBI_HOME}/bin
@@ -68,6 +86,4 @@ RUN chown -R kyuubi:root ${KYUUBI_HOME} && \
     chmod ug+rw -R ${KYUUBI_HOME} && \
     chmod a+rwx -R ${KYUUBI_WORK_DIR_ROOT}
 
-CMD [ "./bin/kyuubi", "run" ]
-
-USER ${kyuubi_uid}
+CMD ["/usr/bin/supervisord"]