首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何覆盖git-sync同步周期

如何覆盖git-sync同步周期
EN

Stack Overflow用户
提问于 2022-08-22 15:20:56
回答 1查看 186关注 0票数 1

在Kubernetes中,我使用git-sync作为侧缓存来执行git-拉,并定期将拉出的数据加载到共享卷中。

除了GIT_SYNC_PERIOD,一切都很好。我希望git每10分钟同步一次,不知怎么的,它总是使用默认值10 is。

这是我的配置。

代码语言:javascript
复制
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的值是第二位的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-22 16:24:49

您可以传递-wait=time来覆盖默认行为。

代码语言:javascript
复制
      containers:
        - name: git-sync
          image: k8s.gcr.io/git-sync:v3.1.3
          args: ["-wait=20","-v=7"]

使用-v=7,您将能够看到wait需要多长时间。

调试日志

代码语言:javascript
复制
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的内容

代码语言:javascript
复制
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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73447467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档