ORACLE CLOUD FUNCTIONS → STACKIT · TUTORIAL
OCI Functions als Container zu STACKIT umziehen
STACKIT hat keinen Funktionsdienst, und StackToIT sagt das in der Bewertung: Eine OCI-Funktion läuft als Container auf der STACKIT Kubernetes Engine (SKE) oder als Docker-App auf Cloud Foundry, und ihre Trigger werden ersetzt. Dieses Tutorial bewertet eine kleine Umgebung mit Funktion, Application, Events-Regel und dem Bucket, der sie auslöst, und führt dann durch Container, Image-Registry, Einstellungen und Trigger.
Eine Funktion, bewertet
Die Umgebung wurde für diese Seite geschrieben und am 4. November 2026 bewertet. Links: die Funktion aus der Demo-Eingabe. Rechts: der Datensatz, den der Lauf dazu in assessment.json führt, aus dem Lauf kopiert. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.
resource "oci_functions_function" "thumbnailer" {
application_id = oci_functions_application.images.id
display_name = "thumbnailer"
image = var.function_image
memory_in_mbs = 256
timeout_in_seconds = 60
config = {
SIZE = "256"
}
}{
"id": "oci_functions_function.thumbnailer",
"wave": 4,
"depends_on": [
"oci_functions_application.images"
],
"result": {
"class": "CONTAINERIZE",
"confidence": "MEDIUM",
"target": {
"service": "SKE workload (or Cloud Foundry Docker app)"
},
"reason": "STACKIT has no function service. Run the function image as a container on SKE or Cloud Foundry, and replace its triggers."
}
}CONTAINERIZE, MEDIUM
Funktion und Application landen beide auf SKE oder Cloud Foundry. Die Klasse sagt: Das Image ist die Migrationseinheit, nicht der Quellcode.
Sechs Einstellungen bleiben bei Ihnen
application_id, config, display_name, image, memory_in_mbs und timeout_in_seconds stehen als kritische Einstellungen bei Ihnen. Die Application ergänzt compartment_id, config, display_name und subnet_ids.
Kein Ressourcenblock
Für keine Einheit wird ein STACKIT-Ressourcenblock geschrieben. Als Zielkandidat steht stackit_ske_cluster, also der Cluster, nicht der Workload darauf: Deployment oder Cloud-Foundry-App definieren Sie selbst.
Der Trigger, den der Lauf übergibt
Die Events-Regel, die die Funktion bei jedem Objekt-Upload auslöst, steht nicht im Katalog dieses Builds. Sie ist MANUAL_REVIEW, nichts davon wird bewertet oder entworfen, und die Funktion trägt eine Warnung wegen der Verknüpfung. Da assessment.json in einer einzigen Zeile geschrieben ist, zeigt der Ausschnitt ausgewählte Felder jeder Einheit, eingerückt und so verschachtelt wie in der Datei, mit unveränderten Werten.
resource "oci_events_rule" "upload" {
compartment_id = var.compartment_id
display_name = "on-upload"
is_enabled = true
condition = "{\"eventType\":[\"com.oraclecloud.objectstorage.createobject\"]}"
actions {
actions {
action_type = "FAAS"
is_enabled = true
function_id = oci_functions_function.thumbnailer.id
}
}
}{
"id": "oci_events_rule.upload",
"wave": 5,
"depends_on": [
"oci_functions_function.thumbnailer"
],
"result": {
"class": "MANUAL_REVIEW",
"confidence": "LOW",
"reason": "oci_events_rule is not in the knowledge base catalogue; an architect has to decide the target. Nothing of this resource is assessed or drafted (unknown source type)."
}
}Ein Trigger ist Designarbeit
Die Regel lauscht auf das Ereignis create-object von Oracle Object Storage und ruft die Funktion auf. Eine Function-as-a-Service-Plattform übernimmt das; auf SKE bauen Sie den Weg vom Ereignis zum Container selbst.
STACKIT führt kein Setzen von Bucket-Benachrichtigungen auf
Die Seite zu unterstützten Operationen führt Get Bucket Notification Configuration auf, aber nicht Put. Planen Sie nicht mit einem Bucket, der Ihren Container aufruft, sondern mit einem Poller, einer Queue oder einem Upload-Pfad, der ihn aufruft.
Der Umzug der Reihe nach
Der Lauf stellt Netzwerk und Bucket voran, dann die Application, dann die Funktion. Der Trigger kommt zuletzt, weil er beide Enden braucht.
1. Verpackung jeder Funktion klären
OCI Functions basiert auf dem Fn Project und kennt Code-only-Funktionen auf einer verwalteten Laufzeit und Image-basierte Funktionen. Eine Image-basierte Funktion ist schon ein Container-Image. Eine Code-only-Funktion müssen Sie zuerst in ein Image packen.
2. Cluster oder Cloud-Foundry-Space bereitstellen
SKE ist ein verwalteter, zertifizierter Kubernetes-Dienst. Der Bericht nennt die unterstützten SKE-Versionen zum Lesetag der Seiten, 3. November 2026: 1.36 eignet sich als Ziel, 1.32 bis 1.34 sind abgelaufen.
3. Image in eine STACKIT-Registry pushen
Der Registry-Endpunkt ist registry.onstackit.cloud. Taggen Sie das Image als registry.onstackit.cloud/PROJEKT/IMAGE:VERSION, melden Sie sich an und pushen Sie. Legen Sie für die Pipeline ein Robot-Konto an: Es bekommt eine Ablaufzeit in Tagen, und STACKIT empfiehlt, nur die nötigen Rechte zu vergeben.
4. Aus der Funktion einen Dienst machen
Eine Funktion erhält eine Anfrage und liefert eine Antwort. Allgemeine Kubernetes-Praxis, keine Ausgabe des Laufs: Auf SKE läuft dasselbe Image hinter einem Deployment und einem Service, oder als Job, wenn es selten ausgelöst wird. Die Oracle-Plattform begrenzt Anfrage- und Antwortnutzlast auf 6 MB; Ihr Dienst hat die Grenzen, die Sie konfigurieren.
5. Einstellungen mitnehmen
Application-Konfiguration wie BUCKET und Funktionskonfiguration wie SIZE werden zu Umgebungsvariablen. memory_in_mbs von 256 und timeout_in_seconds von 60 werden zu Container-Speicherlimits und Anfrage-Timeouts, die Sie setzen.
6. Trigger ersetzen und testen
Wählen Sie, wie ein Upload den Container erreicht, betreiben Sie beide Wege mit Testobjekten nebeneinander und entfernen Sie erst dann die OCI-Funktion und ihre Events-Regel.
Wie die Functions-Umgebung zugeordnet wurde
| OCI-Ressource | STACKIT-Ziel | Klasse und Welle |
|---|---|---|
| oci_core_vcn.fn und oci_core_subnet.fn | STACKIT-Netzwerk | RECONFIGURE, Wellen 1 und 2 |
| oci_objectstorage_bucket.media | STACKIT Object Storage | RECONFIGURE, Welle 1 |
| oci_functions_application.images | SKE-Workload (oder Cloud-Foundry-Docker-App) | CONTAINERIZE, Welle 3 |
| oci_functions_function.thumbnailer | SKE-Workload (oder Cloud-Foundry-Docker-App) | CONTAINERIZE, Welle 4 |
| oci_events_rule.upload | Kein Ziel genannt | MANUAL_REVIEW, Welle 5 |
Fünf von sechs Einheiten sind MEDIUM, die Events-Regel ist LOW. Ohne Lock-Eintrag für den oci-Provider ist MEDIUM die Obergrenze. Die Zuordnung auf der Oracle-Cloud-Seite stimmt überein: OCI Functions gehen zu SKE oder Cloud Foundry, Klasse CONTAINERIZE.
Die SKE-Version, wie der Lauf sie nennt
Der Lauf liest die SKE-Lifecycle-Seiten und nennt jede Version zum Stand 3. November 2026.
Auf 1.36 landen
1.36 wird unterstützt, erschien am 27. August 2026, läuft am 9. Juni 2027 ab und gilt als geeignet für den Einstieg.
Abgelaufene Versionen
1.32, 1.33 und 1.34 sind abgelaufen. Für einen Cluster auf einer abgelaufenen Version greift das Pflicht-Update des Anbieters.
1.35 ist unbekannt
Die gelesenen Seiten nennen kein Erscheinungsdatum für 1.35, der Zustand ist daher UNKNOWN. Der Bericht ergänzt, dass der Abkündigungshinweis zu 1.34 die Version 1.35 als Upgrade-Ziel nennt; lesen Sie UNKNOWN daher nicht als „nicht unterstützt“ und prüfen Sie die Versionsliste Ihres Projekts.
Nach dem 1. Februar 2027 neu lesen
Der Lauf steht für diese Zustände nach diesem Datum nicht mehr ein.
Fragen von Plattformteams
Gibt es bei STACKIT einen Dienst, der Funktionen ausführt?
Die Bewertung hält fest, dass STACKIT keinen Funktionsdienst hat. Funktionen laufen als Container auf SKE oder Cloud Foundry, und die Trigger bauen Sie neu.
Muss ich den Funktionscode umschreiben?
Nicht zwingend. Eine Image-basierte Funktion ist bereits ein Container-Image und lässt sich in eine STACKIT-Registry pushen. Sie ergänzen, was die Plattform bisher übernahm: einen HTTP-Einstieg, Konfiguration über Umgebungsvariablen und einen Trigger.
Warum wird die Events-Regel nicht zugeordnet?
Der Katalog dieses Builds hat dafür keinen Eintrag; der Lauf stuft sie deshalb als MANUAL_REVIEW ein und bewertet nichts. Den Ersatz entwerfen Sie selbst.
SKE oder Cloud Foundry?
Die Bewertung nennt beides und entscheidet keines. SKE ist ein zertifizierter Kubernetes-Dienst für Standard-Kubernetes-Lasten. Die STACKIT-Seite zu Containern und Buildpacks in Cloud Foundry beschreibt das Staging einer App mit einem Buildpack und sagt nicht, ob sich ein fertiges Container-Image pushen lässt; klären Sie das mit STACKIT, bevor Sie Cloud Foundry für das Funktions-Image wählen. Als allgemeine Praxis gilt: Bevorzugen Sie die Plattform, die Ihr Team bereits betreibt.
Quellen
Ihr nächster Schritt: STACKIT.
Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.