Compartilhar via


Solucionar problemas comuns com contêineres confidenciais

Este artigo fornece soluções para problemas comuns com contêineres confidenciais em Instâncias de Contêiner do Azure.

Problemas comuns

Você pode enfrentar os seguintes problemas e erros ao implantar contêineres confidenciais:

  • Falhas de política:

    Deployment Failed.
    ErrorMessage=failed to create containerd task: failed to create shim task:
    uvm::Policy: failed to modify utility VM configuration: guest modify: guest RPC failure:
    error creating Rego policy: rego compilation failed: rego compilation failed: 4 errors occurred:
    
    Deployment Failed.
    ErrorMessage=failed to create containerd task: failed to create shim task:
    uvm::Policy: failed to modify utility VM configuration: guest modify:guest RPC failure:
    error creating Rego policy: rego compilation failed: rego compilation failed: 1 error occurred:
    policy.rego:48 rego_parse_error: non-terminated string;
    
    Container creation denied due to policy: create_container not allowed by policy. 
    Errors: [invalid command].
    
    Denied by policy: rule for mount_device is missing from policy: unknown.
    
    Failed to create containerd task: failed to create shim task: failed to mount container storage:
    failed to add LCOW layer: failed to add SCSI layer: failed to modify UVM with new SCSI mount:
    guest modify: guest RPC failure: mounting scsi device controller 3 lun 2 onto /run/mounts/m4
    denied by policy: mount_device not allowed by policy. Errors: [deviceHash not found].
    
    Container creation denied due to policy: create_container not allowed by policy. 
    
  • Uma política impõe uma nova estrutura:

    Failed to create containerd task: failed to create shim task: failed to mount container storage:
    guest modify: guest RPC failure: overlay creation denied by policy: mount_overlay not allowed by policy.
    Errors: [framework_svn is ahead of the current svn: 1.1.0 > 0.1.0].
    
  • Política de aplicação de computação confidencial (CCE) base64 inválida:

    The CCE Policy is not valid Base64.
    
  • Limitação - limite de 120 kilobytes (KB) na política CCE:

    Failed to create containerd task: failed to create shim task: error while creating the compute system:
    hcs::CreateComputeSystem <compute system id>@vm: The requested operation failed.: unknown.\r\n;
    The container group provisioning has failed. Refer to 'DeploymentFailedReason' event for more details.;
    
    Failed to create containerd task: failed to create shim task: task with id: '<task id>' cannot be created in pod: '<pod>'
    which is not running: failed precondition.\r\n;The container group provisioning has failed.
    Refer to 'DeploymentFailedReason' event for more details.
    
  • O hash do dispositivo não foi encontrado:

    Denied by policy: rule for mount_device is missing from policy: unknown.
    
    Failed to create containerd task: failed to create shim task: failed to mount container storage:
    failed to add LCOW layer: failed to add SCSI layer: failed to modify UVM with new SCSI mount:
    guest modify: guest RPC failure: mounting scsi device controller 3 lun 2 onto /run/mounts/m4
    denied by policy: mount_device not allowed by policy. Errors: [deviceHash not found]
    
  • Outros problemas:

    • Os logs não aparecem.
    • A funcionalidade exec não funciona.
    • A implantação da assinatura atinge o tempo limite após 30 minutos.
    • Investigação de vivacidade com política não permitida.
    • Código de saída 139.

Motivo

Na maioria dos casos, esses problemas ocorrem devido à política do CCE.

Solução

  • Se você tiver alguma falha de política, gere novamente a política CCE e repita a implantação.

  • Se a política CCE impõe um framework, reverta para um svn de framework mais antigo.

  • Se o hash do dispositivo não for encontrado ou houver um problema com uma imagem, limpe o cache e gere novamente a política do CCE.

    Para limpar o cache, execute o docker rmi <image_name>:<tag> comando. Para limpar todas as imagens no cache, execute o docker rmi $(docker images -a -q) comando. Para inspecionar o hash ausente, execute o docker inspect <image_name>:<tag> comando.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.