Udostępnij za pośrednictwem


Rozwiązywanie typowych problemów z kontenerami poufnymi

Ten artykuł zawiera rozwiązania typowych problemów z poufnymi kontenerami w usłudze Azure Container Instances.

Typowe problemy

Podczas wdrażania kontenerów poufnych mogą wystąpić następujące problemy i błędy:

  • Błędy zasad:

    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. 
    
  • Zasady wymuszają nową platformę:

    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].
    
  • Nieprawidłowe zasady wymuszania poufnego przetwarzania base64 (CCE):

    The CCE Policy is not valid Base64.
    
  • Ograniczenie — limit 120 kilobajtów (KB) dla zasad 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.
    
  • Nie można odnaleźć skrótu urządzenia:

    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]
    
  • Inne problemy:

    • Dzienniki nie są wyświetlane.
    • Funkcja exec nie działa.
    • Limit czasu wdrożenia subskrypcji upływa po 30 minutach.
    • Sonda liveness z niedozwolonymi zasadami.
    • Kod zakończenia 139.

Przyczyna

W większości przypadków te problemy występują z powodu zasad CCE.

Rozwiązanie

  • Jeśli wystąpią jakiekolwiek błędy zasad, ponownie wygeneruj zasady CCE i ponów próbę wdrożenia.

  • Jeśli zasady CCE wymuszają strukturę, wróć do starszej struktury svn.

  • Jeśli skrót urządzenia nie zostanie znaleziony lub wystąpi problem z obrazem, wyczyść pamięć podręczną i ponownie wygeneruj zasady CCE.

    Aby wyczyścić pamięć podręczną, uruchom docker rmi <image_name>:<tag> polecenie . Aby wyczyścić wszystkie obrazy w pamięci podręcznej, uruchom docker rmi $(docker images -a -q) polecenie . Aby sprawdzić brakujący skrót, uruchom docker inspect <image_name>:<tag> polecenie .

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.