Sign inSign up

ioagel/linkerd-await

By ioagel

•Updated about 4 years ago

Used to cleanly shutdown jobs/cronjobs that need to be linkerd meshed.

Image
0

10K+

ioagel/linkerd-await repository overview

Example of usage:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: mysql-backup-job
spec:
  # take a backup every day at 00:00
  schedule: "0 0 * * *"
  jobTemplate:
    spec:
      template:
        metadata:
          annotations:
            linkerd.io/inject: enabled
            config.linkerd.io/skip-outbound-ports: "22"
        spec:
          restartPolicy: OnFailure
          # init container to fix job not completing because of linkerd proxy injection
          initContainers:
            - name: linkerd-await
              image: ioagel/linkerd-await:0.2.7
              command: [ "cp" ]
              args: [ "/tmp/linkerd-await", "/linkerd/await" ]
              volumeMounts:
                - mountPath: /linkerd
                  name: linkerd-await
          containers:
            - name: mysql-backup
              image: ioagel/mysql-rsync:8.0
              command: [ "/linkerd/await" ]
              args: [ "--shutdown", "--", "/scripts/backup_mysql.sh" ]
              env:
                - name: MYSQL_HOST
                  value: mysql-cluster
                - name: MYSQL_PORT
                  value: "6447"
                - name: MYSQL_USER
                  valueFrom:
                    secretKeyRef:
                      key: rootUser
                      name: mysql-cluster-secret
                - name: MYSQL_PASS
                  valueFrom:
                    secretKeyRef:
                      key: rootPassword
                      name: mysql-cluster-secret
                - name: MYSQL_DB
                  valueFrom:
                    secretKeyRef:
                      key: database
                      name: mysql-cluster-secret
                - name: SSH_USER
                  valueFrom:
                    secretKeyRef:
                      key: ssh-user
                      name: mysql-cluster-secret
                - name: BACKUP_HOST
                  valueFrom:
                    secretKeyRef:
                      key: backup-host
                      name: mysql-cluster-secret
                - name: REMOTE_BACKUP_DIR
                  valueFrom:
                    secretKeyRef:
                      key: remote-backup-dir
                      name: mysql-cluster-secret
              volumeMounts:
                - name: backup-script
                  mountPath: /scripts
                  readOnly: true
                - mountPath: /linkerd
                  name: linkerd-await
                  readOnly: true
                - mountPath: /etc/ssh-key
                  name: ssh-private-key
                  readOnly: true
          volumes:
            - name: backup-script
              configMap:
                name: backup-script-cm
                defaultMode: 0755
            - name: ssh-private-key
              secret:
                secretName: mysql-cluster-secret
                defaultMode: 0600
                items:
                  - key: ssh-private-key
                    path: id_rsa
            - name: linkerd-await
              emptyDir: { }

Tag summary

Content type

Image

Digest

sha256:93aa884a9…

Size

8.9 MB

Last updated

about 4 years ago

docker pull ioagel/linkerd-await:0.2.7