Skip to content

Instantly share code, notes, and snippets.

@northtyphoon
Last active January 9, 2023 02:39
Show Gist options
  • Save northtyphoon/7eca6cfbfbc0623acfb49f49907a851b to your computer and use it in GitHub Desktop.
Save northtyphoon/7eca6cfbfbc0623acfb49f49907a851b to your computer and use it in GitHub Desktop.

Docker

data_direcotry_host_path=~/connected-regsitry-data
data_direcotry_container_path=/var/acr/data

# Dry Run
docker run -v $data_direcotry_host_path:$data_direcotry_container_path \
  acronpremdemo.azurecr.io/acr/crgc:latest --dry-run $data_direcotry_container_path

# Run
docker run -v $data_direcotry_host_path:$data_direcotry_container_path \
  acronpremdemo.azurecr.io/acr/crgc:latest $data_direcotry_container_path

Kubernetes Jobs

Dry Run Single Job

  • Replace <my-connected-registry-pvc-claim-name> with the pvc claim name used in connected-registry deployment
  • kubectl config set-context --current --namespace=<my-connected-registry-deployment-namespace>
  • kubectl -f job.yaml
  • kubectl describe jobs/crgc-dry-run
  • kubectl logs jobs/crgc-dry-run
  • kubectl delete jobs/crgc-dry-run
apiVersion: batch/v1
kind: Job
metadata:
  name: crgc-dry-run
spec:
  template:
    spec:
      volumes:
        - name: storage
          persistentVolumeClaim:
            claimName: <my-connected-registry-pvc-claim-name>
      containers:
      - name: crgc-dry-run
        image: acronpremdemo.azurecr.io/acr/crgc:latest
        args: ["--dry-run", "/var/acr/data"]
        volumeMounts:
          - name: storage
            mountPath: /var/acr/data
      restartPolicy: Never
  backoffLimit: 0

Run Single Job

  • Replace <my-connected-registry-pvc-claim-name> with the pvc claim name used in connected-registry deployment
  • kubectl config set-context --current --namespace=<my-connected-registry-deployment-namespace>
  • kubectl -f job.yaml
  • kubectl describe jobs/crgc-run
  • kubectl logs jobs/crgc-run
  • kubectl delete jobs/crgc-run
apiVersion: batch/v1
kind: Job
metadata:
  name: crgc-run
spec:
  template:
    spec:
      volumes:
        - name: storage
          persistentVolumeClaim:
            claimName: <my-connected-registry-pvc-claim-name>
      containers:
      - name: crgc-run
        image: acronpremdemo.azurecr.io/acr/crgc:latest
        args: ["/var/acr/data"]
        volumeMounts:
          - name: storage
            mountPath: /var/acr/data
      restartPolicy: Never
  backoffLimit: 0

Cron Jobs

  • Replace <my-connected-registry-pvc-claim-name> with the pvc claim name used in connected-registry deployment
  • Adjust schedule as needed. It's better to avoid the overlap with connected-registry sync schedule.
  • kubectl config set-context --current --namespace=<my-connected-registry-deployment-namespace>
  • kubectl -f job.yaml
  • kubectl describe cronjobs/crgc-cron-job
apiVersion: batch/v1
kind: CronJob
metadata:
  name: crgc-cron-job
spec:
  # run daily at 00:00
  schedule: "0 0 * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          volumes:
            - name: storage
              persistentVolumeClaim:
                claimName: <my-connected-registry-pvc-claim-name>
          containers:
          - name: crgc-cron-job
            image: acronpremdemo.azurecr.io/acr/crgc:latest
            imagePullPolicy: IfNotPresent
            args: ["/var/acr/data"]
            volumeMounts:
            - name: storage
              mountPath: /var/acr/data
          restartPolicy: Never
      backoffLimit: 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment