Skip to main content
Skip table of contents

3.2.3.13. Container

Der Container-Step ermöglicht das Ausführen eines Containers, der in einer Azure Umgebung hinterlegt ist. Dadurch lassen sich Prozesse isoliert von der OCT Umgebung ausführen.

Üblicherweise werden über OCT Container gestartet, die ein PowerShell oder Python Skript ausführen. Die Container verwenden Linux als zugrundeliegendes Betriebssystem.

Sie sollten sich im Vorfeld einen Storage Account mit passenden Skripten eingerichtet haben - dafür nutzen Sie am besten den Azure Storage Explorer.


3.2.3.13.1. Container-Step hinzufügen

  • Wählen Sie den gewünschten Step aus:

image-20250115-124044.png

Ansicht 1 “Step hinzufügen”

  • Wenn der Step ausgewählt wird, öffnet sich eine Übersicht:

image-20250505-110020.png

Ansicht 2 “Step hinzufügen”


3.2.3.13.2. Umgebung (a)

Ein Container besteht aus einer Ausführungsumgebung, einem Image und mehreren Standardanweisungen. Für die Umgebung muss eine Ressourcengruppe hinterlegt werden.

image-20250320-092620.png

Ressourcengruppenname

  • Eingabefeld für den Ressourcengruppennamen

  • Über diesen Ressourcengruppennamen wird der Container gestartet und abgerechnet.

  • Die Ressourcengruppe muss auf Azure existieren und passende Rechte (siehe: 3.2.3.13. Container | 3.2.3.13.4.-Authentifizierung-(c)) müssen gesetzt sein.

  • Sie erhalten den Ressourcengruppennamen üblicherweise von Saxess.


3.2.3.13.3. Container (b)

Hier werden die Stammdaten, die zur Erstellung des Containers benötigt werden, hinterlegt.

image-20250320-092911.png

Containerregistrierung - Anmeldeserver

  • Eingabefeld für die URL der Containerregistrierung mit der Namenskonvention “<>.azurecr.io”.

  • Die URL für die Containerregistrierung erhalten Sie von Saxess.

  • In der Containerregistrierung liegen von Saxess erstellte Images für die Container bereit.

Es können nur von Saxess bereitgestellte Containerimages verwendet werden.

Imagename

  • Der Name des hochgeladenen Images muss hier angegeben werden.

  • Die Liste der verfügbaren Images bekommen Sie von Saxess.

  • Ein Containerimage beinhaltet eine fertige Ausführungsumgebung für einen bestimmten Prozesstyp - beispielsweise für die Ausführung eines Python Skripts.

  • Der Imagename umfasst auch immer eine Versionsangabe, welche mit angegeben werden muss - z.B. “<…>v2:latest”.

Containergruppenname

  • Eingabefeld für einen beliebigen Containergruppennamen

  • Nutzen Sie am besten Ihren Firmennamen, um Ihre Containergruppe zu benennen.

  • Die Namenslänge muss zwischen 1 bis 63 Zeichen liegen und darf nur Kleinbuchstaben, Zahlen oder Bindestriche enthalten. Leerzeichen sind nicht erlaubt.

  • Der Name muss mit einem Buchstaben oder einer Zahl enden.

Containername

  • Eingabefeld für einen beliebigen Containernamen

  • Der Containername entspricht dem Namen des Containers, wie dieser im Image erzeugt wurde.

  • Die Namenslänge muss zwischen 1 bis 63 Zeichen liegen und darf nur Kleinbuchstaben, Zahlen oder Bindestriche enthalten. Leerzeichen sind nicht erlaubt.

  • Der Name muss mit einem Buchstaben oder einer Zahl enden.

Anzahl der Prozessoren

  • Die Anzahl der Prozessoren, die für den Container benutzt werden sollen, kann zwischen 1 und 4 liegen.

RAM in GB

  • Es können 1 bis 4 GB eingegeben werden.


3.2.3.13.4. Authentifizierung (c)

Für die Authentifizierung in der Azure Umgebung wird eine “Benutzerseitig zugewiesene verwaltete Identität” (User Managed Identity) genutzt.

image-20250320-093508.png

Benutzerseitig zugewiesene verwaltete Identität

  • Im Container-Step muss eine berechtigte Identität hinterlegt werden, welche Sie von Saxess erhalten.

  • Diese UMI muss …

    • Contributor-Rechte auf die Ressourcengruppe haben, in welcher die Container erstellt werden.

    • ArcPull-Rechte in der Containerregistrierung haben.

  • Die Azure-Client-ID der UMI muss in den AppSettings des OCT Slots mit der Bezeichnung “AZURE_CLIENT_ID” hinterlegt werden.


3.2.3.13.5. Storage (d)

Der Container Step bietet die Möglichkeit einen Azure Blob Storage beim Start des Containers innerhalb des Containers zur Verfügung zu stellen. Ein Fileshare aus diesem Storage Account wird als Netzlaufwerk im Container eingebunden.

image-20250320-093905.png

Datenquelle

  • Der Storage Account wird von Saxess bereitgestellt oder Sie legen einen eigenen Account in Ihrer Azure Subscription an.

  • Die Datenquelle “Azure Storage” muss in den Datenquellen (siehe: 3.2.1.6. Azure Storage) mit Typ File-Storage angelegt werden.

Nur der Azure-Storage-Typ “File Storage” kann in einem Container gemountet bzw. eingebunden werden.

image-20250218-141339.png
  • Der Storage-Kontoname muss dem Azure Storage Kontonamen entsprechen, in welchem die Dateifreigabe mit den entsprechenden Skripts angelegt wurde.

  • Nachdem die Datenquelle korrekt angelegt wurde, kann diese in einem Drop-down-Menü ausgewählt werden.

Volume-Name

  • Eingabefeld für einen Volumenamen aus Ihrem File-Storage

Dateifreigabename

  • Hier kann der Dateifreigabename (share name) aus dem File-Storage in der Azure Storage Datenquelle vergeben werden oder individuell angepasst werden.


3.2.3.13.6. Netzwerkeinstellungen (e)

Um dem Container eine feste IP zuzuweisen kann ihm ein virtuelles Netzwerk (VNet) sowie ein Subnetz zugewiesen werden. Diese Option bleibt im Normalfall leer, nur für Sonderfälle erhalten Sie bei uns Zugang zu einem VNet.

image-20250505-112954.png

VNet

  • Optionales Eingabefeld für den Namen des virtuellen Netzwerks

  • Das VNet muss in der gleichen Ressourcengruppe erstellt werden, in welcher der Container erstellt wurde.

  • Zusätzlich muss beim Erstellen oder Verwenden eines vorhandenen virtuellen Netzwerks für Containerzwecke dieses dem Dienst “Microsoft.ContainerInstance/containerGroups” zugewiesen werden. Ohne diese Zuweisung schlägt die Ausführung fehl, da das Netzwerk nicht mit der Containergruppe verbunden werden kann.

Subnetz

  • Optionales Eingabefeld für den Namen des Subnetzes


3.2.3.13.7. Ausführung (f)

Dieser Startbefehl bestimmt, welches Skript aus dem Fileshare beim Starten des Containers ausgeführt werden soll.

image-20250320-094218.png

Startbefehl

  • Die Namenskonvention für einen Startbefehl eines Pythonskripts ist folgende “python,run.py,--ScriptName=<script>.py

  • Die Namenskonvention für einen Startbefehl eines Powershellskripts ist folgende “python,run.py,--ScriptName=<script>.ps


Nach dem Hinzufügen eines Steps muss dieser gespeichert werden. Danach kann über das Icon image-20250115-110419.png in der Menüleiste die Pipeline gestartet werden.

Während die Pipeline ausgeführt wird, erscheint solange ein sich drehender Kreis image-20250115-110355.png in der Pipelinezeile, bis der Prozess beendet ist.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.