From ca81f9663572ad797e4fc2846958812763d5c96e Mon Sep 17 00:00:00 2001 From: fengxusong Date: Thu, 24 Jun 2021 12:13:29 +0800 Subject: [PATCH] feat: update dockerfile and charts --- container/dockerfiles/Dockerfile | 41 +++++++---------------- container/helm/Chart.lock | 6 ++++ container/helm/Chart.yaml | 9 +++-- container/helm/charts/mysql-8.6.3.tgz | Bin 0 -> 33841 bytes container/helm/templates/configmap.yaml | 18 +++++++--- container/helm/templates/deployment.yaml | 8 +++++ container/helm/values.yaml | 18 ++++++++-- 7 files changed, 64 insertions(+), 36 deletions(-) create mode 100644 container/helm/Chart.lock create mode 100644 container/helm/charts/mysql-8.6.3.tgz diff --git a/container/dockerfiles/Dockerfile b/container/dockerfiles/Dockerfile index 1ffe27e4..fa1850e3 100644 --- a/container/dockerfiles/Dockerfile +++ b/container/dockerfiles/Dockerfile @@ -1,43 +1,28 @@ FROM openjdk:16-jdk-alpine3.13 -LABEL author="yangvipguang" - -ENV VERSION 2.3.1 - -RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories -RUN apk add --no-cache --virtual .build-deps \ - font-adobe-100dpi \ - ttf-dejavu \ - fontconfig \ - curl \ - apr \ - apr-util \ - apr-dev \ - tomcat-native \ - && apk del .build-deps - -RUN apk add --no-cache tini - - +LABEL author="fengxsong" +RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk add --no-cache tini +ENV VERSION 2.4.2 +WORKDIR /opt/ ENV AGENT_HOME /opt/agent/ - -WORKDIR /tmp - -COPY $JAR_PATH/kafka-manager.jar app.jar -# COPY application.yml application.yml ##默认使用helm 挂载,防止敏感配置泄露 - COPY docker-depends/config.yaml $AGENT_HOME COPY docker-depends/jmx_prometheus_javaagent-0.15.0.jar $AGENT_HOME ENV JAVA_AGENT="-javaagent:$AGENT_HOME/jmx_prometheus_javaagent-0.15.0.jar=9999:$AGENT_HOME/config.yaml" ENV JAVA_HEAP_OPTS="-Xms1024M -Xmx1024M -Xmn100M " ENV JAVA_OPTS="-verbose:gc \ - -XX:MaxMetaspaceSize=256M -XX:+DisableExplicitGC -XX:+UseStringDeduplication \ - -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:-UseContainerSupport" + -XX:MaxMetaspaceSize=256M -XX:+DisableExplicitGC -XX:+UseStringDeduplication \ + -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -XX:-UseContainerSupport" + +RUN wget https://github.com/didi/Logi-KafkaManager/releases/download/v${VERSION}/kafka-manager-${VERSION}.tar.gz && \ + tar xvf kafka-manager-${VERSION}.tar.gz && \ + mv kafka-manager-${VERSION}/kafka-manager.jar /opt/app.jar && \ + rm -rf kafka-manager-${VERSION}* + EXPOSE 8080 9999 ENTRYPOINT ["tini", "--"] -CMD ["sh","-c","java -jar $JAVA_AGENT $JAVA_HEAP_OPTS $JAVA_OPTS app.jar --spring.config.location=application.yml"] +CMD [ "sh", "-c", "java -jar $JAVA_AGENT $JAVA_HEAP_OPTS $JAVA_OPTS app.jar --spring.config.location=application.yml"] \ No newline at end of file diff --git a/container/helm/Chart.lock b/container/helm/Chart.lock new file mode 100644 index 00000000..04958b2d --- /dev/null +++ b/container/helm/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: mysql + repository: https://charts.bitnami.com/bitnami + version: 8.6.3 +digest: sha256:d250c463c1d78ba30a24a338a06a551503c7a736621d974fe4999d2db7f6143e +generated: "2021-06-24T11:34:54.625217+08:00" diff --git a/container/helm/Chart.yaml b/container/helm/Chart.yaml index 7161f735..088abfb0 100644 --- a/container/helm/Chart.yaml +++ b/container/helm/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: didi-km -description: A Helm chart for Kubernetes +description: Logi-KafkaManager # A chart can be either an 'application' or a 'library' chart. # @@ -21,4 +21,9 @@ version: 0.1.0 # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "1.16.0" +appVersion: "2.4.2" +dependencies: + - condition: mysql.enabled + name: mysql + repository: https://charts.bitnami.com/bitnami + version: 8.x.x diff --git a/container/helm/charts/mysql-8.6.3.tgz b/container/helm/charts/mysql-8.6.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c5fde140590a79862c1f4e2ead46ad6278028fd3 GIT binary patch literal 33841 zcmV)tK$pKCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PMa0dfPaXC^~=ZDRAVT({|RRWIJ(sbWZj=ZYSNFZ#s$BcK6I~ zrmqc=kc2TsumRAHCeHotYuwknPjWvL022HqQ9tY?-QweX8zu!N8`V{`{_xt644-Ss|e>!;DKYseWe{^ts^r!y8;nCCnpHTlH zfGIzzkeL6ezjj|`KrgYxLo7%KC-fJ>1!eI7-5z#u zl4L)>^ZWkcvrb475{D!XC=r8>hhjV>0~E07l*Ju{I7yhG5?Y-|nTSEJ7bt=g{*cNT zPpKcUY0v!KK}g~;0OKL^&db`mwOt?hAN&uUkcfcOM8Yc|Vk8*~IKh%2jQ)d;C(#Vy zTTCN7j0k!&yZFzaP!Od;65g3G1*ZjROywjUx}X>+dy*5ZZNbF` z3qhpl35kOnp-cDZbgcjK;I(&n*#B^N^wdw{ap#82?ideY{B+wM3hfklNWZXvduT$( z6N?v(sGN1Cn8p&*m~d!=OfikrB-oe#$APYc%p84h#$5l>{R)=yKu_eHp|LX)vfzer z&w^}gz;Ed4HYb*2|ETl1>3#bYAD90}EVy}yJ{Iu*{?XAK~vp>HmcsV>0TDNlZAFBpjgbVgK;J>mPfE2bcZ+;OW8O*;D`d zcgNp-_w+AE$N$~kvYIxJUjMf^N{M(V0dW5MKR!Nsc3fWn$A??_?@^we9rR1lV{#f{Ayl&$ z&hL&w&xl_}EQL(N^#&o~hzmfz~;GUNxn-c33rJSLI|pR!)a0?|ta z;odl_q!lD=>%sHMRHmb}y z+7;%HX(}Wd5;Vne3e~m35h5A`6{|f|Bsd^@C6q)xP7;e7(aTnZm$1;w1oxgoLgVEn zoZezdJUhib-Ttc&c$!2o`8zv+bVjD|W*(h7BV{Y0_rIEn*Rv#fO4NkTSc>jg8igpL zH$;6Agdp-ka*Sv^VtfjEBw{g&*jP^jdM%Mmc`VTPCl~*r)?<%x^!DV~aITgW#glRwr z+~7Q?iHAL>6T3398O}fbEC?TDFBmU=t&+j34^*f=klseo9hDPH8=QoSwsB;3jkoVE zUk%XTCL~5wek-)RFd-=6XN|l6a2RIWfMyf)NqTZ$SG_f?6E<%dGjc7y!qOp(!hf20cg&GJP zBNE?I&f=*Oa&IxGO2)OFq$2C$2h~8KAH@&Nk}~6|J7ID{xRTLh1nd_joZZrpgy>F< zX1Przn;BuOtM>VBokXGgDZ*kU3$^42sCTPGz@8D1jFD4)vc*y$mfB+KQ`TBWO-*gO z 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 literal 0 HcmV?d00001 diff --git a/container/helm/templates/configmap.yaml b/container/helm/templates/configmap.yaml index ffc75ec5..25940cc6 100644 --- a/container/helm/templates/configmap.yaml +++ b/container/helm/templates/configmap.yaml @@ -1,7 +1,17 @@ +{{- define "datasource.mysql" -}} +{{- if .Values.mysql.enabled }} + {{- printf "%s-mysql" (include "didi-km.fullname" .) -}} +{{- else -}} + {{- printf "%s" .Values.externalDatabase.host -}} +{{- end -}} +{{- end -}} + apiVersion: v1 kind: ConfigMap metadata: - name: km-cm + name: {{ include "didi-km.fullname" . }}-configs + labels: + {{- include "didi-km.labels" . | nindent 4 }} data: application.yml: | server: @@ -17,9 +27,9 @@ data: name: kafkamanager datasource: kafka-manager: - jdbc-url: jdbc:mysql://xxxxx:3306/kafka-manager?characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false - username: admin - password: admin + jdbc-url: jdbc:mysql://{{ include "datasource.mysql" . }}:3306/{{ .Values.mysql.auth.database }}?characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false + username: {{ .Values.mysql.auth.username }} + password: {{ .Values.mysql.auth.password }} driver-class-name: com.mysql.jdbc.Driver main: allow-bean-definition-overriding: true diff --git a/container/helm/templates/deployment.yaml b/container/helm/templates/deployment.yaml index 4754b53e..80ab2c29 100644 --- a/container/helm/templates/deployment.yaml +++ b/container/helm/templates/deployment.yaml @@ -42,6 +42,10 @@ spec: protocol: TCP resources: {{- toYaml .Values.resources | nindent 12 }} + volumeMounts: + - name: configs + mountPath: /tmp/application.yml + subPath: application.yml {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -54,3 +58,7 @@ spec: tolerations: {{- toYaml . | nindent 8 }} {{- end }} + volumes: + - name: configs + configMap: + name: {{ include "didi-km.fullname" . }}-configs diff --git a/container/helm/values.yaml b/container/helm/values.yaml index a5f49e40..8eadbb1a 100644 --- a/container/helm/values.yaml +++ b/container/helm/values.yaml @@ -5,13 +5,14 @@ replicaCount: 1 image: - repository: docker.io/yangvipguang/km + repository: docker.io/fengxsong/logi-kafka-manager pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "v18" + tag: "2.4.2" imagePullSecrets: [] nameOverride: "" +# fullnameOverride must set same as release name fullnameOverride: "km" serviceAccount: @@ -77,3 +78,16 @@ nodeSelector: {} tolerations: [] affinity: {} + +# more configurations are set with configmap in file template/configmap.yaml +externalDatabase: + host: "" +mysql: + # if enabled is set to false, then you should manually specified externalDatabase.host + enabled: true + architecture: standalone + auth: + rootPassword: "s3cretR00t" + database: "logi_kafka_manager" + username: "logi_kafka_manager" + password: "n0tp@55w0rd"