prepull-daemonset/daemonset.yaml (67 lines of code) (raw):

apiVersion: apps/v1 kind: DaemonSet metadata: name: pre-pull labels: app: pre-pull spec: selector: matchLabels: app: pre-pull updateStrategy: type: RollingUpdate template: metadata: labels: app: pre-pull spec: initContainers: - name: pre-pull-large-images image: mcr.microsoft.com/windows/nanoserver:1809 securityContext: windowsOptions: runAsUserName: "ContainerAdministrator" command: - cmd - /c args: - cmd\pull gcr.io/my-registry/image-1:tag1 && cmd\pull gcr.io/my-registry/image-2@sha256:some-digest volumeMounts: - name: container-runtime-tools mountPath: "\\tools" readOnly: true - name: dockershim-pipe mountPath: \\.\pipe\dockershim - name: containerd-pipe mountPath: \\.\pipe\containerd - name: pull-image-volume mountPath: "\\cmd" containers: - name: no-op image: gcr.io/gke-release/pause-win:1.6.1 tolerations: - effect: NoSchedule operator: Exists - effect: NoExecute operator: Exists nodeSelector: kubernetes.io/os: windows volumes: - name: pull-image-volume configMap: name: pull-image items: - key: pull.cmd path: pull.cmd - name: container-runtime-tools hostPath: path: "\\etc\\kubernetes\\node\\bin" - name: dockershim-pipe hostPath: path: \\.\pipe\dockershim type: "" - name: containerd-pipe hostPath: path: \\.\pipe\containerd-containerd type: ""