Skip to content

Commit

Permalink
Merge branch 'master' of github.com:ouqiang/gocron
Browse files Browse the repository at this point in the history
  • Loading branch information
ouqiang committed Jun 2, 2019
2 parents e335899 + bdd1995 commit 9215153
Show file tree
Hide file tree
Showing 4 changed files with 159 additions and 0 deletions.
17 changes: 17 additions & 0 deletions k8s-deploy/Dockerfile-agent
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM alpine:3.7

ENV GOCRON_AGENT_VERSION=v1.5

RUN apk add --no-cache ca-certificates tzdata bash \
&& mkdir -p /app \
&& wget -P /tmp https://github.com/ouqiang/gocron/releases/download/${GOCRON_AGENT_VERSION}/gocron-node-${GOCRON_AGENT_VERSION}-linux-amd64.tar.gz \
&& cd /tmp \
&& tar zvxf gocron-node-${GOCRON_AGENT_VERSION}-linux-amd64.tar.gz \
&& mv /tmp/gocron-node-linux-amd64/gocron-node /app \
&& rm -rf /tmp/* \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

WORKDIR /app
EXPOSE 5921

ENTRYPOINT ["/app/gocron-node", "-allow-root"]
38 changes: 38 additions & 0 deletions k8s-deploy/gocron-agent.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: gocron-agent
namespace: kube-system
spec:
selector:
matchLabels:
daemon: gocron-agent
template:
metadata:
labels:
daemon: gocron-agent
name: gocron-agent
spec:
containers:
- name: gocron-agent
image: crontab-agent:0.5
imagePullPolicy: IfNotPresent
ports:
- containerPort: 5921
hostPort: 5921
name: gocron-agent
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/log
name: syslog
hostNetwork: true
hostPID: true
restartPolicy: Always
volumes:
- hostPath:
path: /var/log
type: Directory
name: syslog
51 changes: 51 additions & 0 deletions k8s-deploy/gocron-st.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# 改为用StatefulSet部署,把配置目录挂载到外置存储,以防container down后重启
# 如果使用历史数据库,需要先配置安装,然后在conf目录下创建install.lock文件,最后重启进程即可
#
---
apiVersion: v1
kind: Service
metadata:
name: gocron
labels:
app: gocron
spec:
ports:
- port: 5920
name: gocron
type: NodePort
selector:
app: gocron
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: gocron
spec:
serviceName: "gocron"
replicas: 1
template:
metadata:
labels:
app: gocron
spec:
securityContext:
fsGroup: 1000
terminationGracePeriodSeconds: 10
containers:
- name: gocron
image: ouqg/gocron:latest
ports:
- containerPort: 5920
name: gocron
volumeMounts:
- name: gocron-vol
mountPath: /app/conf
volumeClaimTemplates:
- metadata:
name: gocron-vol
spec:
storageClassName: rbd
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 100Mi
53 changes: 53 additions & 0 deletions k8s-deploy/mysql-st.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
apiVersion: v1
kind: Service
metadata:
name: mysql
#namespace: storage
labels:
app: mysql
spec:
ports:
- port: 3306
name: mysql
clusterIP: None
selector:
app: mysql
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: mysql
#namespace: storage
spec:
serviceName: "mysql"
replicas: 1
template:
metadata:
labels:
app: mysql
spec:
terminationGracePeriodSeconds: 10
containers:
- name: mysql
image: mysql:5.6
env:
- name: MYSQL_ROOT_PASSWORD
value: password
- name: MYSQL_DATABASE
value: crontab
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-vol
mountPath: /var/lib/mysql
volumeClaimTemplates:
- metadata:
name: mysql-vol
spec:
storageClassName: rbd # 需要storageClassName
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 100Gi

0 comments on commit 9215153

Please sign in to comment.