Workshop wiki · Greek

Τεκμηρίωση παραδείγματος: Image Pull και Content Store

Μοντελοποιούνται οι σχέσεις ανάμεσα σε OCI Descriptors, Digests, Tags και Content Store.

Workshop examples as ZIP files
Learning progress in the web app

Mark chapters as read, view reading progress and check off practice modules after enabling the optional web app. Workshop progress is calculated from chapters across all document pages. Your choices stay on this device; there is no account or server sync. Installation is not required. Withdrawing your choice in Privacy settings deletes the progress.

Reading progress0%
0%
0 / 12 chapters read
Other language versionGerman ↗English ↗

Τεκμηρίωση παραδείγματος: Image Pull και Content Store

1. Στόχος

Μοντελοποιούνται οι σχέσεις ανάμεσα σε OCI Descriptors, Digests, Tags και Content Store.

01 / 12

2. Τι γίνεται

Το παράδειγμα δημιουργεί τοπικά αποδεικτικά στοιχεία στον φάκελο work/, επικυρώνει τα Artifacts και συλλέγει προαιρετικά στοιχεία εξόδου της Runtime όταν είναι εγκατεστημένα τα εργαλεία. Μπορεί να εκτελεστεί με ασφάλεια ακόμη και όταν το containerd δεν λειτουργεί ως Service.

02 / 12

3. Γιατί γίνεται

Τα προβλήματα του containerd προκύπτουν συχνά από σύγχυση μεταξύ επιπέδων: το Docker Workflow, το containerd API, τα CRI, OCI, CNI και το Kubernetes έχουν διαφορετικές αρμοδιότητες. Το παράδειγμα δείχνει καθαρά το αντίστοιχο όριο.

03 / 12

4. Συνήθεις εντολές

bash
containerd --version 2>/dev/null || true
ctr version 2>/dev/null || true
ctr plugins ls 2>/dev/null || true
ctr namespaces ls 2>/dev/null || true
ctr -n k8s.io images ls 2>/dev/null || true
journalctl -u containerd -n 50 --no-pager 2>/dev/null || true
04 / 12

5. Επαλήθευση επιτυχίας

  • Τα Artifacts είναι συντακτικά έγκυρα.
  • Υπάρχουν αποδεικτικά στοιχεία στον φάκελο work/evidence/.
  • Δεν χρησιμοποιούνται πραγματικά Secrets.
  • Το πεδίο εφαρμογής είναι σαφές: Model, τοπικός Host ή Kubernetes Node.
  • Οι κίνδυνοι και η διαδικασία Cleanup είναι τεκμηριωμένοι.
05 / 12

6. Συνήθη σφάλματα

  • Λανθασμένο Namespace στο ctr.
  • Χρήση του crictl χωρίς το αντίστοιχο Runtime Endpoint.
  • Registry Hosts σε λανθασμένο Host Namespace.
  • TOML για διαφορετική κύρια έκδοση του containerd.
  • Ρύθμιση Snapshotter ή RuntimeClass ενώ η Runtime λείπει από τον Node.
06 / 12

7. Θέματα ασφάλειας

Το containerd λειτουργεί πολύ κοντά στον Host. Οι αλλαγές στη Runtime μπορούν να επηρεάσουν όλα τα Pods ενός Node. Γι’ αυτό οι αλλαγές Configuration εξετάζονται πρώτα ως Models, πριν μεταφερθούν σε πραγματικούς Nodes.

07 / 12

8. Πρακτική χρήση

Το παράδειγμα εφαρμόζεται σε Node Runbooks, ανασκοπήσεις πλατφόρμας, Kubernetes Troubleshooting, ανάλυση περιστατικών Registry και ενίσχυση ασφάλειας.

08 / 12

9. Ροή Workshop

  1. Διαβάστε τον στόχο.
  2. Ανοίξτε τα Artifacts.
  3. Εκτελέστε το run.sh.
  4. Εξετάστε τα αποδεικτικά στοιχεία.
  5. Ονομάστε το επίπεδο Runtime που επηρεάζεται.
  6. Καταγράψτε τον κίνδυνο.
  7. Τεκμηριώστε τη διαδικασία Cleanup.
  8. Ελέγξτε το αποτέλεσμα μαζί με ένα δεύτερο άτομο.
09 / 12

10. Πίνακας ανασκόπησης

Πεδίο ελέγχου Απαίτηση
Επίπεδο Κατονομάζεται ο Host, το containerd, το CRI, το OCI, το CNI ή το Kubernetes.
Artifact Υπάρχει TOML, YAML, JSON, Shell Script ή Log.
Ασφάλεια Δεν υπάρχουν Production Credentials ή Endpoints.
Λειτουργία Περιγράφεται το Rollback ή το Cleanup.
Αποδεικτικά στοιχεία Η επαλήθευση μπορεί να αναπαραχθεί.
10 / 12

Επίσημες πηγές

  • Τεκμηρίωση containerd: https://containerd.io/docs/2.3/getting-started/
  • Ρύθμιση containerd Registry: https://github.com/containerd/containerd/blob/main/docs/hosts.md
  • containerd Runtime v2: https://github.com/containerd/containerd/blob/main/docs/runtime-v2.md
  • Kubernetes Container Runtimes: https://kubernetes.io/docs/setup/production-environment/container-runtimes/
  • Kubernetes CRI: https://kubernetes.io/docs/concepts/containers/cri/
  • OCI Image Specification: https://github.com/opencontainers/image-spec
  • OCI Runtime Specification: https://github.com/opencontainers/runtime-spec

11 / 12

Παράρτημα παραδείγματος: αποδεικτικά στοιχεία, λειτουργία και μεταφορά

Το παράρτημα ολοκληρώνει το παράδειγμα ως εκπαιδευτικό υλικό. Περιγράφει πώς ένα τοπικό Model οδηγεί σε αξιόπιστη ανάλυση Runtime, χωρίς πρόσβαση σε Production Nodes ή Credentials.

B.1 Ορίστε το πεδίο εφαρμογής

Ο ορισμός του πεδίου εφαρμογής είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.2 Επικυρώστε τα Artifacts

Η επικύρωση των Artifacts είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.3 Ονομάστε το επίπεδο Runtime

Η ονομασία του επιπέδου Runtime είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.4 Ελέγξτε τη σχέση με το Kubernetes

Ο έλεγχος της σχέσης με το Kubernetes είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.5 Καταγράψτε τα όρια ασφάλειας

Η καταγραφή των ορίων ασφάλειας είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.6 Τεκμηριώστε το Rollback

Η τεκμηρίωση του Rollback είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.7 Καθαρίστε τα αποδεικτικά στοιχεία

Ο καθαρισμός των αποδεικτικών στοιχείων είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.8 Περιορίστε τη μεταφορά

Ο περιορισμός της μεταφοράς είναι απαραίτητος εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.9 Ολοκληρώστε την ανασκόπηση

Η ολοκλήρωση της ανασκόπησης είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.10 Εκτελέστε το Cleanup

Η εκτέλεση του Cleanup είναι απαραίτητη εδώ, επειδή τα containerd Labs μπορεί διαφορετικά να μετατραπούν από ασφαλή Models σε ανεξέλεγκτες αλλαγές Nodes. Η αξιολόγηση πρέπει να διευκρινίζει αν ένα Artifact χρησιμεύει μόνο για επεξήγηση, επικυρώνεται τοπικά ή θα εφαρμοζόταν σε πραγματικό Node.

Ερώτημα Απαίτηση
Τι επηρεάζεται; Κατονομάζεται ο Host, ο Daemon, το Plugin, το Content, ο Snapshotter, η Runtime, το CRI, το CNI ή το Kubernetes.
Τι αποδεικνύεται; Ένα αρχείο ή Output στον φάκελο work/evidence/ τεκμηριώνει το εύρημα.
Τι μένει ανοικτό; Οι απαιτήσεις για πραγματικούς Nodes τεκμηριώνονται ως όριο εφαρμογής.

Σημεία ανασκόπησης:

  • Δεν υπάρχουν Production Secrets.
  • Δεν υπάρχουν αλλαγές σε Sockets ή systemd χωρίς ανασκόπηση.
  • Δεν υπάρχουν εξαιρέσεις Registry χωρίς αιτιολόγηση.
  • Δεν συγχέονται τα ctr, crictl και nerdctl.
  • Το Cleanup είναι εφικτό με διαγραφή του φακέλου work/.

B.11 Ολοκλήρωση

Ένα παράδειγμα ολοκληρώνεται όταν το Script εκτελείται επιτυχώς, όλα τα Artifacts του Model είναι συντακτικά έγκυρα, κατονομάζεται το επίπεδο Runtime που επηρεάζεται και τα αποδεικτικά στοιχεία δεν περιέχουν εμπιστευτικά δεδομένα.

12 / 12

CTR · Orthevs Academy

31 modules as one continuous learning path.

The sequence remains unchanged: from the lab skeleton through technical foundations and operating models to final troubleshooting. The technical directory names are deliberately preserved.

Orthevs – Engineering the foundation for what comes next.

Orthevs as an app

Install Orthevs

The Orthevs web app can be installed on supported mobile devices and desktop browsers.

iPhone and iPad

Open Orthevs in Safari. Tap Share, then Add to Home Screen. Enable Open as Web App if offered, then tap Add.

Android

For the web app, open the browser menu and choose Install app or Add to Home screen. Confirm the installation.

Desktop browser

Open the browser menu or the install icon in the address bar, then choose Install app or Add to Dock.

Web app installation depends on your browser. If no install prompt appears, follow the browser steps shown above.