Freigeben über


Behandeln häufiger Probleme mit vertraulichen Containern

Dieser Artikel enthält Lösungen für häufige Probleme mit vertraulichen Containern in Azure-Containerinstanzen.

Häufige Probleme

Möglicherweise treten beim Bereitstellen vertraulicher Container die folgenden Probleme und Fehler auf:

  • Richtlinienfehler:

    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. 
    
  • Eine Richtlinie erzwingt ein neues Framework:

    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].
    
  • Ungültige Richtlinie zur Erzwingung vertraulicher Computer (Base64) (CCE):

    The CCE Policy is not valid Base64.
    
  • Beschränkung – 120 KB-Grenzwert für die CCE-Richtlinie:

    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.
    
  • Der Gerätehash wurde nicht gefunden:

    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]
    
  • Andere Probleme:

    • Protokolle werden nicht angezeigt.
    • Die Exec-Funktion funktioniert nicht.
    • Die Abonnementbereitstellung ist nach 30 Minuten nicht mehr vorhanden.
    • Liveness-Probe mit unzulässiger Richtlinie.
    • Exit code 139.

Ursache

In den meisten Fällen treten diese Probleme aufgrund der CCE-Richtlinie auf.

Lösung

  • Wenn Richtlinienfehler auftreten, generieren Sie die CCE-Richtlinie erneut, und wiederholen Sie die Bereitstellung.

  • Wenn die CCE-Richtlinie ein Framework erzwingt, wenden Sie sich auf ein älteres Framework svn zurück.

  • Wenn der Gerätehash nicht gefunden wird oder ein Problem mit einem Bild auftritt, löschen Sie den Cache, und generieren Sie die CCE-Richtlinie erneut.

    Führen Sie den Befehl aus, um den docker rmi <image_name>:<tag> Cache zu bereinigen. Führen Sie den docker rmi $(docker images -a -q) Befehl aus, um alle Bilder im Cache zu bereinigen. Führen Sie den Befehl aus, um den docker inspect <image_name>:<tag> fehlenden Hash zu überprüfen.

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.