Espelhando imagens usando um registro de contêiner intermediário

Se a estação de trabalho do cliente não conseguir se conectar à Internet e ao registro de contêiner privado, você deverá espelhar as imagens em um registro de contêiner intermediário antes de espelhá-las no registro de contêiner privado.

Se a estação de trabalho do seu cliente puder se conectar à Internet e ao registro de contêiner privado, consulte Espelhando imagens diretamente para o registro de contêiner privado.

Fase de instalação
  • Você não está aqui. Configurando uma estação de trabalho do cliente
  • Você não está aqui. Configurando um cluster
  • Você não está aqui. Coleta das informações necessárias
  • Você não está aqui. Preparando-se para executar instalações em uma rede restrita
  • Você está aqui ícone. Preparando-se para executar instalações a partir de um registro de contêiner privado
  • Você não está aqui. Preparando o cluster para IBM® Software Hub
  • Você não está aqui. Preparando-se para instalar uma instância do IBM Software Hub
  • Você não está aqui. Instalando uma instância do IBM Software Hub
  • Você não está aqui. Configurando o control plane
  • Você não está aqui. Instalação de soluções e serviços
Quem precisa concluir esta tarefa?

Administrador do registro Um administrador do registro ou um usuário com permissões para enviar imagens para o registro de contêiner privado deve concluir esta tarefa.

Quando você precisa concluir essa tarefa?

Se você deseja extrair imagens de um registro de contêiner privado, é necessário concluir esta tarefa antes de instalar IBM Software Hub.

  • Configuração única Com um planejamento cuidadoso, você pode identificar todos os componentes que planeja instalar no cluster para que possa concluir essa tarefa uma única vez.
  • Repita conforme necessário. No entanto, se você decidir instalar serviços adicionais e as imagens não estiverem em seu registro de contêiner privado, talvez seja necessário concluir essa tarefa várias vezes.

Antes de iniciar

Melhor prática: você pode executar os comandos nesta tarefa exatamente como estão escritos se configurar as variáveis de ambiente. Para obter instruções, consulte Configurando variáveis de ambiente de instalação.

Certifique-se de obter as variáveis de ambiente antes de executar os comandos nesta tarefa.

Antes de espelhar as imagens para o registro de contêiner privado:
  1. Certifique-se de que você tem espaço suficiente para as imagens que pretende espelhar. Para obter informações sobre tamanhos aproximados de imagens, consulte Requisitos de hardware.
  2. Se você planeja instalar um serviço com dependência do componente Inference foundation models (ibm-watsonx-ai-ifm):
    1. Certifique-se de que Skopeo o está instalado na estação de trabalho do cliente:
      yum install skopeo
    2. Certifique-se de que possui seu Red Hat® nome de usuário e senha. (As credenciais que você usa para autenticar-se https://access.redhat.com)
    3. Defina a variável REDHAT_ACCESS_USERNAME de ambiente para o seu Red Hat nome de usuário:
      export REDHAT_ACCESS_USERNAME=<username>
    4. Defina a variável REDHAT_ACCESS_PASSWORD de ambiente com a senha associada ao seu Red Hat nome de usuário:
      export REDHAT_ACCESS_PASSWORD=<password>

Sobre esta tarefa

Use os cpd-cli manage comandos para:
  • Espelhe as imagens do IBM Entitled Registry para um registro de contêiner intermediário na estação de trabalho do cliente.
  • Espelhe as imagens do registro de contêiner intermediário para o registro de contêiner privado.

O cpd-cli manage mirror-images comando configura automaticamente um registro de contêiner intermediário na estação de trabalho do cliente. O endereço do registro intermediário de contêineres é 127.0.0.1:12443.

Você deve ser capaz de mover o registro de contêineres intermediário para trás do seu firewall.

As etapas a seguir pressupõem que as seguintes afirmações são verdadeiras:
  • Você espelhará todos os componentes em uma única etapa.

    Os componentes que são espelhados são determinados pela ${COMPONENTS} variável, a partir do script de variáveis do ambiente de instalação.

    Se você deseja espelhar um componente específico em vez de vários componentes, pode exportar COMPONENTS com o ID do componente apropriado.

  • Você identificou todos os modelos ou imagens opcionais que precisa espelhar

    Os modelos e imagens opcionais que são espelhados são determinados pela ${IMAGE_GROUPS} variável, a partir do script de variáveis do ambiente de instalação.

    Se você não precisar espelhar nenhum modelo ou imagem opcional, execute os comandos que não incluem a ${IMAGE_GROUPS} variável.

Procedimento

  1. A partir de uma estação de trabalho do cliente que possa se conectar à Internet:
    1. Faça login no registro IBM Entitled Registry :
      cpd-cli manage login-entitled-registry \
      ${IBM_ENTITLEMENT_KEY}
    2. Confirme se você tem acesso às imagens que deseja espelhar a partir do IBM Entitled Registry:
      1. Inspecione o IBM Entitled Registry:
        Dica: se você deseja validar se tem acesso às imagens de um componente específico, execute o seguinte comando antes de executar o list-images comando:
        export COMPONENTS=<component-ID>
        Execute o comando apropriado para o seu ambiente:
        Você já possui os pacotes CASE na estação de trabalho do cliente
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true

        Faça o download dos pacotes CASE em GitHub ( github.com/IBM )
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true

        Baixe os pacotes CASE do repositório Open Container Initiative IBM Cloud Pak
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --inspect_source_registry=true \
        --from_oci=true

        A saída é salva no list_images.csv arquivo no diretório work/offline/${VERSION} .

      2. Verifique se há erros na saída:
        grep "level=fatal" list_images.csv

        O comando retorna imagens que falharam devido a erros de autorização ou erros de rede.

    3. EDB Postgres Standard somente usuários. Se você adquiriu EDB Postgres Standard, execute o seguinte comando para remover as EDB Postgres Enterprise imagens da lista de imagens que serão espelhadas para o registro de contêiner privado:
      Estações de trabalho que utilizam o diretório cpd-cli-workspace/olm-utils-workspace/work padrão
      sed -i -e '/edb-postgres-advanced/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
      Estações de trabalho que utilizam a variável CPD_CLI_MANAGE_WORKSPACE de ambiente
      sed -i -e '/edb-postgres-advanced/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-cpd-edb/*/ibm-cpd-edb-*-images.csv
    4. Watson Studio somente usuários. Se você estiver espelhando as imagens para Watson Studio, pode remover as seguintes imagens se não precisar delas:

      Imagens da GPU

      As imagens da GPU são espelhadas por padrão. Se você não precisar das imagens da GPU, execute o seguinte comando para removê-las:

      Estações de trabalho que utilizam o diretório cpd-cli-workspace/olm-utils-workspace/work padrão
      sed -i -e '/gpu/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
      Estações de trabalho que utilizam a variável CPD_CLI_MANAGE_WORKSPACE de ambiente
      sed -i -e '/gpu/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv

      Modelos de NLP pré-treinados

      As imagens NLP pré-treinadas são espelhadas por padrão. Se você não precisar de modelos de processamento de linguagem natural (NLP) pré-treinados, execute o seguinte comando para removê-los:

      Estações de trabalho que utilizam o diretório cpd-cli-workspace/olm-utils-workspace/work padrão
      sed -i -e '/nlp/d' ./cpd-cli-workspace/olm-utils-workspace/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv
      Estações de trabalho que utilizam a variável CPD_CLI_MANAGE_WORKSPACE de ambiente
      sed -i -e '/nlp/d' ${CPD_CLI_MANAGE_WORKSPACE}/work/offline/${VERSION}/.ibm-pak/data/cases/ibm-wsl-runtimes/*/ibm-wsl-runtimes-*-images.csv

    5. Espelhe as imagens para o registro de contêiner intermediário.

      O comando configura automaticamente um registro de contêiner intermediário na estação de trabalho do cliente. O endereço do registro intermediário de contêineres é 127.0.0.1:12443.

      Dica: determine se você precisa modificar o comportamento deste comando:
      • Por padrão, esse comando espelha apenas as imagens necessárias para a arquitetura do seu cluster. Se você deseja espelhar as imagens para todas as arquiteturas suportadas, remova a --arch=${IMAGE_ARCH} opção.
      • Este comando espelha as imagens para todos os componentes especificados na variável ${COMPONENTS} de ambiente. Se você deseja espelhar imagens para um componente específico, execute export COMPONENTS=<component-ID> antes de executar o comando.

      Você precisa espelhar modelos ou imagens opcionais
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --groups=${IMAGE_GROUPS} \
      --release=${VERSION} \
      --target_registry=127.0.0.1:12443 \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Você não precisa espelhar modelos ou imagens opcionais
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --release=${VERSION} \
      --target_registry=127.0.0.1:12443 \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Para cada componente, o comando gera um arquivo de log no work diretório.

      Dica: execute o seguinte comando para imprimir quaisquer erros nos arquivos de log:
      grep "error" mirror_*.log
    6. Confirme se as imagens foram espelhadas para o registro de contêiner intermediário:
      1. Inspecione o conteúdo do registro do contêiner intermediário:
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --target_registry=127.0.0.1:12443 \
        --case_download=false

        A saída é salva no list_images.csv arquivo no diretório work/offline/${VERSION} .

      2. Verifique se há erros na saída:
        grep "level=fatal" list_images.csv

        O comando retorna imagens que estão faltando ou que não podem ser inspecionadas.

    7. Se você planeja instalar um serviço com dependência do componente Inference foundation models (ibm-watsonx-ai-ifm), espelhe as imagens vLLM necessárias para o registro de contêiner intermediário.

      As imagens que você espelha dependem dos modelos que você planeja instalar.

      Mistral AI modelos
      Se você planeja instalar qualquer um dos seguintes Mistral AI modelos, é necessário espelhar a imagem necessária do vLLM a partir do IBM Entitled Registry:
      • codestral-22b
      • codestral-2501
      • ministral-8b-instruct
      • mistral-large
      • mistral-large-instruct-2411
      • mistral-small-instruct
      • pixtral-large-instruct-2411
      skopeo copy --all \
      --src-username cp \
      --src-password ${IBM_ENTITLEMENT_KEY} \
      --src-tls-verify=false \
      --dest-tls-verify=false \
      docker://cp.icr.io/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9 \
      docker://127.0.0.1:12443/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9
      Todos os outros modelos
      Para todos os outros modelos, você deve espelhar a imagem CUDA RHOAI vLLM a partir de registry.redhat.io:
      1. Faça login em registry.redhat.io:
        skopeo login registry.redhat.io \
        --username ${REDHAT_ACCESS_USERNAME} \
        --password ${REDHAT_ACCESS_PASSWORD}
      2. Copie a imagem para o tmp/rhoai-new diretório na estação de trabalho do cliente:
        skopeo copy --all 
        docker://registry.redhat.io/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604 \
        dir://tmp/rhoai-new
  2. Mova o registro de contêineres intermediário para trás do firewall.

    Opções para mover o registro intermediário de contêineres
    Opção Detalhes
    Use um dispositivo de computação portátil, como um laptop, que você possa mover para trás do seu firewall.
    Você pode usar o mesmo dispositivo para:
    • Imagens espelhadas do IBM Entitled Registry para o registro intermediário de contêineres.
    • Espelhar imagens do registro de contêiner intermediário para o registro de contêiner privado.
    Use um dispositivo de armazenamento portátil, como uma unidade USB, que você possa mover para trás do seu firewall.
    Você deve configurar duas estações de trabalho do cliente:
    • Uma estação de trabalho que pode se conectar à Internet. A partir desta estação de trabalho, você pode espelhar as imagens do IBM Entitled Registry para o registro intermediário de contêineres no dispositivo de armazenamento portátil.
    • Uma estação de trabalho que pode se conectar ao registro de contêineres privado. Depois de mover o dispositivo de armazenamento portátil para esta estação de trabalho, você pode espelhar as imagens do registro de contêiner intermediário para o registro de contêiner privado.
    Importante: A estação de trabalho que pode se conectar ao registro de contêiner privado deve ter:
    • Uma cópia do cpd-cli
    • Uma cópia do diretório work , que contém os CASE pacotes e o registro intermediário do contêiner.

      Para simplificar, você pode copiar todo o cpd-cli-workspace diretório CPD_CLI_MANAGE_WORKSPACE ou.

    Use um protocolo de transferência de arquivos, como FTP scp ou sftpSFTP, para mover imagens para trás do seu firewall.
    Você deve configurar duas estações de trabalho do cliente:
    • Uma estação de trabalho que pode se conectar à Internet. A partir desta estação de trabalho, você pode espelhar as imagens do IBM Entitled Registry para o registro de contêiner intermediário.
    • Uma estação de trabalho que pode se conectar ao registro de contêineres privado. Depois de transferir o registro de contêiner intermediário para esta estação de trabalho, você pode espelhar as imagens do registro de contêiner intermediário para o registro de contêiner privado.
    Importante: A estação de trabalho que pode se conectar ao registro de contêiner privado deve ter:
    • Uma cópia do cpd-cli
    • Uma cópia do diretório work , que contém os CASE pacotes e o registro intermediário do contêiner.

      Para simplificar, você pode copiar todo o cpd-cli-workspace diretório CPD_CLI_MANAGE_WORKSPACE ou.


  3. Se você espelhou a imagem CUDA RHOAI vLLM no tmp/rhoai-new diretório, mova o diretório para trás do firewall.
  4. A partir de uma estação de trabalho do cliente conectada a um registro de contêiner privado:
    1. Faça login no registro privado de contêineres.

      O comando a seguir pressupõe que você está usando um registro de contêiner privado protegido por credenciais:

      cpd-cli manage login-private-registry \
      ${PRIVATE_REGISTRY_LOCATION} \
      ${PRIVATE_REGISTRY_PUSH_USER} \
      ${PRIVATE_REGISTRY_PUSH_PASSWORD}
      Se o seu registro privado não estiver protegido, omita os seguintes argumentos:
      • ${PRIVATE_REGISTRY_PUSH_USER}
      • ${PRIVATE_REGISTRY_PUSH_PASSWORD}
    2. Espelhe as imagens do registro de contêiner intermediário para o registro de contêiner privado.
      Dica: determine se você precisa modificar o comportamento deste comando:
      • Por padrão, esse comando espelha apenas as imagens necessárias para a arquitetura do seu cluster. Se você deseja espelhar as imagens para todas as arquiteturas suportadas, remova a --arch=${IMAGE_ARCH} opção.
      • Este comando espelha as imagens para todos os componentes especificados na variável ${COMPONENTS} de ambiente. Se você deseja espelhar imagens para um componente específico, execute export COMPONENTS=<component-ID> antes de executar o comando.

      Você precisa espelhar modelos ou imagens opcionais
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --groups=${IMAGE_GROUPS} \
      --release=${VERSION} \
      --source_registry=127.0.0.1:12443 \
      --target_registry=${PRIVATE_REGISTRY_LOCATION} \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Você não precisa espelhar modelos ou imagens opcionais
      cpd-cli manage mirror-images \
      --components=${COMPONENTS} \
      --release=${VERSION} \
      --source_registry=127.0.0.1:12443 \
      --target_registry=${PRIVATE_REGISTRY_LOCATION} \
      --arch=${IMAGE_ARCH} \
      --case_download=false

      Para cada componente, o comando gera um arquivo de log no work diretório.

    3. Confirme se as imagens foram espelhadas para o registro de contêiner privado:
      1. Inspecione o conteúdo do registro de contêineres privado:
        cpd-cli manage list-images \
        --components=${COMPONENTS} \
        --release=${VERSION} \
        --target_registry=${PRIVATE_REGISTRY_LOCATION} \
        --case_download=false

        A saída é salva no list_images.csv arquivo no diretório work/offline/${VERSION} .

      2. Verifique se há erros na saída:
        grep "level=fatal" list_images.csv

        O comando retorna imagens que estão faltando ou que não podem ser inspecionadas.

    4. Se você planeja instalar um serviço com dependência do componente Inference foundation models (ibm-watsonx-ai-ifm), espelhe as imagens vLLM necessárias do registro de contêiner intermediário para o registro de contêiner privado.

      As imagens que você espelha dependem dos modelos que você planeja instalar.

      Mistral AI modelos
      Se você planeja instalar qualquer um dos seguintes Mistral AI modelos, deve espelhar a imagem necessária do vLLM no registro de contêiner privado:
      • codestral-22b
      • codestral-2501
      • ministral-8b-instruct
      • mistral-large
      • mistral-large-instruct-2411
      • mistral-small-instruct
      • pixtral-large-instruct-2411
      skopeo copy --all \
      --src-tls-verify=false \
      --dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
      --dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
      --dest-tls-verify=false \
      docker://127.0.0.1:12443/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9 \
      docker://${PRIVATE_REGISTRY_LOCATION}/cp/cpd/vllm@sha256:cc95bc7619549a5fb9342f8c41c613df5cd65b4e1f90b408db062559a2fdcff9
      Todos os outros modelos
      Para todos os outros modelos, você deve espelhar a imagem CUDA RHOAI vLLM no registro de contêiner privado:
      skopeo copy --all \
      --src-tls-verify=false \
      --dest-username ${PRIVATE_REGISTRY_PUSH_USER} \
      --dest-password ${PRIVATE_REGISTRY_PUSH_PASSWORD} \
      --dest-tls-verify=false \
      dir://tmp/rhoai-new \
      docker://${PRIVATE_REGISTRY_LOCATION}/rhoai/odh-vllm-cuda-rhel9@sha256:fb84fbf103bf450ef5b060fc5f21a9cf16b166dba207a3c50aa91bccd919d604

Resultados

As imagens para sua arquitetura são espelhadas no registro de contêiner privado.
Observação: alguns componentes, como o cpfs componente, fornecem apenas imagens multi-arch. Para componentes com imagens multi-arch, todas as imagens são espelhadas para o registro de contêiner privado.

O quê fazer em seguida

Agora que você espelhou as imagens para o registro de contêiner privado, está pronto para configurar um conjunto de espelhamento de resumo de imagem para imagens de software IBM Software Hub.