Otimização de download de imagem
Depois que uma nova imagem é carregada no registro de destino, ela não é baixada automaticamente para ' IBM® Software Hub. Você pode usar o seguinte arquivo Job JSON para extrair previamente a nova imagem para cada nó de computação.
Para fazer o download da nova imagem para todos os nós de computação no cluster, faça o seguinte:
- Crie um arquivo JSON de trabalho com base no conteúdo a seguir:
{ "kind": "Job", "apiVersion": "batch/v1", "metadata": { "name": "REPLACE_WITH_IMAGE_NAME-pull", "labels": { "app": "imagePrepull", "run": "REPLACE_WITH_IMAGE_NAME" } }, "spec": { "parallelism": 20, "completions": 20, "template": { "metadata": { "labels": { "app": "imagePrepull", "run": "REPLACE_WITH_IMAGE_NAME" } }, "spec": { "containers": [ { "name": "jupyter-custom-container", "image": "REPLACE_BY_FULL_NAME_OF_YOUR_IMAGE", "command": [ "echo", "Image preloaded" ], "resources": {}, "terminationMessagePath": "/get-started/termination-log", "terminationMessagePolicy": "File", "imagePullPolicy": "Always" } ], "restartPolicy": "OnFailure", "affinity": { "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { "nodeSelectorTerms": [ { "matchExpressions": [ { "key": "kubernetes.io/arch", "operator": "In", "values": [ "REPLACE_WITH_ARCHITECTURE" ] } ] } ] } }, "podAntiAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": [ { "labelSelector": { "matchExpressions": [ { "key": "run", "operator": "In", "values": [ "REPLACE_WITH_IMAGE_NAME" ] } ] }, "topologyKey": "kubernetes.io/hostname" } ] } } } } } }Insira os seguintes valores no JSON de amostra:REPLACE_WITH_IMAGE_NAME:myimageREPLACE_BY_FULL_NAME_OF_YOUR_IMAGE:registry/myimage:0.1REPLACE_WITH_ARCHITECTURE: 'amd64ou 'ppc64le
- Execute a tarefa:
oc create -f prepull.json - Verificar o estado dos pods de trabalho: "
oc get pods | grep -i REPLACE_WITH_IMAGE_NAME-pullSe todos os pods listados estiverem no estado "
Completed, o prepull foi concluído com êxito.