mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
deprecate all cronjob module related code
related to https://github.com/chrislusf/seaweedfs/issues/2483
This commit is contained in:
parent
59e58c4b23
commit
73e3e77904
|
@ -1,57 +0,0 @@
|
||||||
FROM alpine
|
|
||||||
|
|
||||||
# 'latest' or 'dev'
|
|
||||||
ARG RELEASE=latest
|
|
||||||
|
|
||||||
RUN \
|
|
||||||
ARCH=$(if [ $(uname -m) == "x86_64" ] && [ $(getconf LONG_BIT) == "64" ]; then echo "amd64"; \
|
|
||||||
elif [ $(uname -m) == "x86_64" ] && [ $(getconf LONG_BIT) == "32" ]; then echo "386"; \
|
|
||||||
elif [ $(uname -m) == "aarch64" ]; then echo "arm64"; \
|
|
||||||
elif [ $(uname -m) == "armv7l" ]; then echo "arm"; \
|
|
||||||
elif [ $(uname -m) == "armv6l" ]; then echo "arm"; \
|
|
||||||
elif [ $(uname -m) == "s390x" ]; then echo "s390x"; \
|
|
||||||
elif [ $(uname -m) == "ppc64le" ]; then echo "ppc64le"; fi;) && \
|
|
||||||
echo "Building for $ARCH" 1>&2 && \
|
|
||||||
SUPERCRONIC_SHA1SUM=$(echo $ARCH | sed 's/386/e0126b0102b9f388ecd55714358e3ad60d0cebdb/g' | sed 's/amd64/5ddf8ea26b56d4a7ff6faecdd8966610d5cb9d85/g' | sed 's/arm64/e2714c43e7781bf1579c85aa61259245f56dbba1/g' | sed 's/arm/47481c3341bc3a1ae91a728e0cc63c8e6d3791ad/g') && \
|
|
||||||
SUPERCRONIC_URL=https://github.com/aptible/supercronic/releases/download/v0.1.9/supercronic-linux-$ARCH && \
|
|
||||||
SUPERCRONIC=supercronic-linux-$ARCH && \
|
|
||||||
# Install SeaweedFS and Supercronic ( for cron job mode )
|
|
||||||
apk add --no-cache --virtual build-dependencies --update wget curl ca-certificates && \
|
|
||||||
apk add fuse && \
|
|
||||||
wget -P /tmp https://github.com/$(curl -s -L https://github.com/chrislusf/seaweedfs/releases/${RELEASE} | egrep -o "chrislusf/seaweedfs/releases/download/.*/linux_$ARCH.tar.gz" | head -n 1) && \
|
|
||||||
tar -C /usr/bin/ -xzvf /tmp/linux_$ARCH.tar.gz && \
|
|
||||||
curl -fsSLO "$SUPERCRONIC_URL" && \
|
|
||||||
echo "${SUPERCRONIC_SHA1SUM} ${SUPERCRONIC}" | sha1sum -c - && \
|
|
||||||
chmod +x "$SUPERCRONIC" && \
|
|
||||||
mv "$SUPERCRONIC" "/usr/local/bin/${SUPERCRONIC}" && \
|
|
||||||
ln -s "/usr/local/bin/${SUPERCRONIC}" /usr/local/bin/supercronic && \
|
|
||||||
apk del build-dependencies && \
|
|
||||||
rm -rf /tmp/*
|
|
||||||
|
|
||||||
# volume server gprc port
|
|
||||||
EXPOSE 18080
|
|
||||||
# volume server http port
|
|
||||||
EXPOSE 8080
|
|
||||||
# filer server gprc port
|
|
||||||
EXPOSE 18888
|
|
||||||
# filer server http port
|
|
||||||
EXPOSE 8888
|
|
||||||
# master server shared gprc port
|
|
||||||
EXPOSE 19333
|
|
||||||
# master server shared http port
|
|
||||||
EXPOSE 9333
|
|
||||||
# s3 server http port
|
|
||||||
EXPOSE 8333
|
|
||||||
# webdav server http port
|
|
||||||
EXPOSE 7333
|
|
||||||
|
|
||||||
RUN mkdir -p /data/filerldb2
|
|
||||||
|
|
||||||
VOLUME /data
|
|
||||||
WORKDIR /data
|
|
||||||
|
|
||||||
COPY filer.toml /etc/seaweedfs/filer.toml
|
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
|
||||||
RUN chmod +x /entrypoint.sh
|
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
|
|
@ -57,16 +57,6 @@ case "$1" in
|
||||||
exec /usr/bin/weed s3 $ARGS $@
|
exec /usr/bin/weed s3 $ARGS $@
|
||||||
;;
|
;;
|
||||||
|
|
||||||
'cronjob')
|
|
||||||
MASTER=${WEED_MASTER-localhost:9333}
|
|
||||||
FIX_REPLICATION_CRON_SCHEDULE=${CRON_SCHEDULE-*/7 * * * * *}
|
|
||||||
echo "$FIX_REPLICATION_CRON_SCHEDULE" 'echo "lock; volume.fix.replication; unlock" | weed shell -master='$MASTER > /crontab
|
|
||||||
BALANCING_CRON_SCHEDULE=${CRON_SCHEDULE-25 * * * * *}
|
|
||||||
echo "$BALANCING_CRON_SCHEDULE" 'echo "lock; volume.balance -collection ALL_COLLECTIONS -force; unlock" | weed shell -master='$MASTER >> /crontab
|
|
||||||
echo "Running Crontab:"
|
|
||||||
cat /crontab
|
|
||||||
exec supercronic /crontab
|
|
||||||
;;
|
|
||||||
*)
|
*)
|
||||||
exec /usr/bin/weed $@
|
exec /usr/bin/weed $@
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -28,16 +28,6 @@ services:
|
||||||
depends_on:
|
depends_on:
|
||||||
- master
|
- master
|
||||||
- volume
|
- volume
|
||||||
cronjob:
|
|
||||||
image: chrislusf/seaweedfs # use a remote image
|
|
||||||
command: 'cronjob'
|
|
||||||
environment:
|
|
||||||
# Run re-replication every 2 minutes
|
|
||||||
CRON_SCHEDULE: '*/2 * * * * *' # Default: '*/5 * * * * *'
|
|
||||||
WEED_MASTER: master:9333 # Default: localhost:9333
|
|
||||||
depends_on:
|
|
||||||
- master
|
|
||||||
- volume
|
|
||||||
s3:
|
s3:
|
||||||
image: chrislusf/seaweedfs # use a remote image
|
image: chrislusf/seaweedfs # use a remote image
|
||||||
ports:
|
ports:
|
||||||
|
|
|
@ -113,21 +113,6 @@ Inject extra environment vars in the format key:value, if populated
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/* Return the proper cronjob image */}}
|
|
||||||
{{- define "cronjob.image" -}}
|
|
||||||
{{- if .Values.cronjob.imageOverride -}}
|
|
||||||
{{- $imageOverride := .Values.cronjob.imageOverride -}}
|
|
||||||
{{- printf "%s" $imageOverride -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $registryName := default .Values.image.registry .Values.global.localRegistry | toString -}}
|
|
||||||
{{- $repositoryName := .Values.image.repository | toString -}}
|
|
||||||
{{- $name := .Values.global.imageName | toString -}}
|
|
||||||
{{- $tag := .Chart.AppVersion | toString -}}
|
|
||||||
{{- printf "%s%s%s:%s" $registryName $repositoryName $name $tag -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
|
|
||||||
{{/* check if any PVC exists */}}
|
{{/* check if any PVC exists */}}
|
||||||
{{- define "volume.pvc_exists" -}}
|
{{- define "volume.pvc_exists" -}}
|
||||||
{{- if or (or (eq .Values.volume.data.type "persistentVolumeClaim") (and (eq .Values.volume.idx.type "persistentVolumeClaim") .Values.volume.dir_idx )) (eq .Values.volume.logs.type "persistentVolumeClaim") -}}
|
{{- if or (or (eq .Values.volume.data.type "persistentVolumeClaim") (and (eq .Values.volume.idx.type "persistentVolumeClaim") .Values.volume.dir_idx )) (eq .Values.volume.logs.type "persistentVolumeClaim") -}}
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
{{- if .Values.cronjob }}
|
|
||||||
{{- if .Values.cronjob.enabled }}
|
|
||||||
apiVersion: batch/v1beta1
|
|
||||||
kind: CronJob
|
|
||||||
metadata:
|
|
||||||
name: {{ include "seaweedfs.fullname" . }}-cronjob
|
|
||||||
spec:
|
|
||||||
schedule: "{{ .Values.cronjob.schedule }}"
|
|
||||||
startingDeadlineSeconds: 200
|
|
||||||
concurrencyPolicy: Forbid
|
|
||||||
failedJobsHistoryLimit: 2
|
|
||||||
successfulJobsHistoryLimit: 2
|
|
||||||
jobTemplate:
|
|
||||||
spec:
|
|
||||||
backoffLimit: 2
|
|
||||||
template:
|
|
||||||
spec:
|
|
||||||
{{- if .Values.cronjob.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{ tpl .Values.cronjob.nodeSelector . | indent 12 | trim }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.cronjob.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{ tpl .Values.cronjob.tolerations . | nindent 12 | trim }}
|
|
||||||
{{- end }}
|
|
||||||
restartPolicy: OnFailure
|
|
||||||
containers:
|
|
||||||
- name: shell
|
|
||||||
image: {{ template "cronjob.image" . }}
|
|
||||||
imagePullPolicy: {{ default "IfNotPresent" .Values.global.imagePullPolicy }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.cronjob.resources| nindent 16 }}
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
set -ex
|
|
||||||
echo -e "lock\n\
|
|
||||||
volume.balance -force \
|
|
||||||
{{ if .Values.volume.dataCenter }} -dataCenter {{ .Values.volume.dataCenter }}{{ end }}\
|
|
||||||
{{ if .Values.cronjob.collection }} -collection {{ .Values.cronjob.collection }}{{ end }}\n\
|
|
||||||
{{- if .Values.cronjob.enableFixReplication }}
|
|
||||||
volume.fix.replication -collectionPattern={{ .Values.cronjob.collectionPattern }} \n\
|
|
||||||
{{- end }}
|
|
||||||
unlock\n" | \
|
|
||||||
/usr/bin/weed shell \
|
|
||||||
{{- if .Values.cronjob.master }}
|
|
||||||
-master {{ .Values.cronjob.master }} \
|
|
||||||
{{- else }}
|
|
||||||
-master {{ template "seaweedfs.name" . }}-master.{{ .Release.Namespace }}.svc:{{ .Values.master.port }} \
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.cronjob.filer }}
|
|
||||||
-filer {{ .Values.cronjob.filer }}
|
|
||||||
{{- else }}
|
|
||||||
-filer {{ template "seaweedfs.name" . }}-filer.{{ .Release.Namespace }}.svc:{{ .Values.filer.port }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
|
@ -429,22 +429,6 @@ s3:
|
||||||
size: ""
|
size: ""
|
||||||
storageClass: ""
|
storageClass: ""
|
||||||
|
|
||||||
cronjob:
|
|
||||||
enabled: true
|
|
||||||
master: "seaweedfs-master:9333"
|
|
||||||
filer: "seaweedfs-filer-client:8888"
|
|
||||||
tolerations: ""
|
|
||||||
nodeSelector: |
|
|
||||||
sw-backend: "true"
|
|
||||||
replication:
|
|
||||||
enable: true
|
|
||||||
collectionPattern: ""
|
|
||||||
schedule: "*/7 * * * *"
|
|
||||||
resources: null
|
|
||||||
# balance all volumes among volume servers
|
|
||||||
# ALL|EACH_COLLECTION|<collection_name>
|
|
||||||
collection: ""
|
|
||||||
|
|
||||||
|
|
||||||
certificates:
|
certificates:
|
||||||
commonName: "SeaweedFS CA"
|
commonName: "SeaweedFS CA"
|
||||||
|
|
Loading…
Reference in a new issue