在Kubernetes中,我使用git-sync作为侧缓存来执行git-拉,并定期将拉出的数据加载到共享卷中。
除了GIT_SYNC_PERIOD,一切都很好。我希望git每10分钟同步一次,不知怎么的,它总是使用默认值10 is。
这是我的配置。
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-helloworld
image: nginx
ports:
- containerPort: 80
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: www-data
- name: git-sync
image: k8s.gcr.io/git-sync:v3.1.3
volumeMounts:
- name: www-data
mountPath: /data
env:
- name: GIT_SYNC_REPO
value: "https://github.com/musaalp/gighub.git" ##repo-path-you-want-to-clone
- name: GIT_SYNC_BRANCH
value: "master" ##repo-branch
- name: GIT_SYNC_ROOT
value: /data
- name: GIT_SYNC_DEST
value: "languages" ##path-where-you-want-to-clone
- name: GIT_SYNC_PERIOD
value: "600"
securityContext:
runAsUser: 0
volumes:
- name: www-data
emptyDir: {}
我假设GIT_SYNC_PERIOD的值是第二位的。
发布于 2022-08-22 16:24:49
您可以传递-wait=time来覆盖默认行为。
containers:
- name: git-sync
image: k8s.gcr.io/git-sync:v3.1.3
args: ["-wait=20","-v=7"]使用-v=7,您将能够看到wait需要多长时间。
调试日志
I0822 16:22:17.088533 13 main.go:641] "level"=5 "msg"="running command" "cmd"="git rev-parse HEAD" "cwd"="/data/hello"
I0822 16:22:17.122642 13 main.go:641] "level"=5 "msg"="running command" "cmd"="git ls-remote -q origin refs/heads/master" "cwd"="/data/hello"
I0822 16:22:19.060599 13 main.go:582] "level"=2 "msg"="git state" "local"="61be34f64d471d65c26f2d28f1a35b165249a537" "remote"="61be34f64d471d65c26f2d28f1a35b165249a537"
I0822 16:22:19.060811 13 main.go:584] "level"=1 "msg"="no update required"
I0822 16:22:19.060931 13 main.go:354] "level"=1 "msg"="next sync" "wait_time"=20000000000
I0822 16:22:39.079914 13 main.go:641] "level"=5 "msg"="running command" "cmd"="git rev-parse HEAD" "cwd"="/data/hello"
I0822 16:22:39.159808 13 main.go:641] "level"=5 "msg"="running command" "cmd"="git ls-remote -q origin refs/heads/master" "cwd"="/data/hello"
I0822 16:22:40.839761 13 main.go:582] "level"=2 "msg"="git state" "local"="61be34f64d471d65c26f2d28f1a35b165249a537" "remote"="61be34f64d471d65c26f2d28f1a35b165249a537"
I0822 16:22:40.839788 13 main.go:584] "level"=1 "msg"="no update required"
I0822 16:22:40.839815 13 main.go:354] "level"=1 "msg"="next sync" "wait_time"=20000000000现在,如果您设置了类似于--wait=1000的内容
I0822 16:22:53.240181 15 main.go:354] "level"=1 "msg"="next sync" "wait_time"=1000000000000
--period <duration>,$GIT_SYNC_PERIOD在同步尝试之间等待多长时间。这必须至少有10毫秒。此标志将淘汰--wait,但如果指定了--wait,则优先。(缺省值: 10s)
https://stackoverflow.com/questions/73447467
复制相似问题