Λογότυπο αποθετηρίου
 

Static analysis techniques and tools for infrastructure as code on the Kubernetes platform

Μικρογραφία εικόνας

Ημερομηνία

2026-01-12

Τίτλος Εφημερίδας

Περιοδικό ISSN

Τίτλος τόμου

Εκδότης

Επιβλέπων / ουσα

Διαθέσιμο από

Περίληψη

This thesis investigates Infrastructure as Code, mainly in the Kubernetes platform. More specifically, it starts by explaining Infrastructure as Code and then deep dives in the Kubernetes architecture and the technologies around it, like Docker, Helm Charts, static analysis tools like Checkov, Terrascan and more. Technologies mentioned above are the introduction for the main focus of this thesis, which is static analysis and refactoring of the Kubernetes manifests for maintainability purposes. In that scope tools like Ansible, Terraform, Pulumi and others are analyzed as well. Building upon this knowledge this study examines the challenges related to Kubernetes manifests, like issues related to security and repetitive code blocks among others. It reviews existing static analysis approaches and tools aimed at improving code reliability, security and maintainability. The main contribution of this work is the proposal of a static analysis method. More specifically, this method suggests a way to refactor helm charts created by Helmify, which is an automation tool aiming to transform traditional manifests files to helm charts. The core target of this method is to present a way to reduce repetitive code as it occurs by the output of helmify. The core idea is to create a template, which will contain the union of all the features contained in the manifest files. Manifest files then have to be reconfigured to just reference this newly created template instead of containing all the feature they previously had. Overall the method proposed in this Thesis has been evaluated on some real world applications with results showing dramatic decrease in repetitive code, helping in the overall maintainability of the Infrastructure as Code.
Η παρούσα διπλωματική εργασία διερευνά τον Infrastructure as Code, κυρίως στην πλατφόρμα Kubernetes. Πιο συγκεκριμένα, ξεκινά εξηγώντας τι είναι ο Infrastructure as Code και στη συνέχεια εμβαθύνει στην αρχιτεκτονική του Kubernetes και τις τεχνολογίες γύρω του, όπως το Docker, το Helm Charts και τα εργαλεία στατικής ανάλυσης όπως το Checkov, το Terrascan και άλλα. Οι τεχνολογίες που αναφέρονται παραπάνω αποτελούν την εισαγωγή για τον κύριο στόχο αυτής της εργασίας, που είναι η στατική ανάλυση και η ανακατασκευή των Kubernetes manifests για σκοπούς συντηρησιμότητας. Σε αυτό το πεδίο αναλύονται επίσης εργαλεία όπως το Ansible, το Terraform, το Pulumi και άλλα. Με βάση αυτή τη γνώση, αυτή η μελέτη εξετάζει τις προκλήσεις που σχετίζονται με τα manifests του Kubernetes, όπως ζητήματα που σχετίζονται με την ασφάλεια και τα επαναλαμβανόμενα μπλοκ κώδικα μεταξύ άλλων. Εξετάζει τις υπάρχουσες προσεγγίσεις και εργαλεία στατικής ανάλυσης που στοχεύουν στη βελτίωση της αξιοπιστίας, της ασφάλειας και της συντηρησιμότητας του κώδικα. Η κύρια συμβολή αυτής της εργασίας είναι η πρόταση μιας μεθόδου στατικής ανάλυσης. Πιο συγκεκριμένα, αυτή η μέθοδος προτείνει έναν τρόπο αναδιαμόρφωσης των helm charts που δημιουργούνται από το Helmify, το οποίο είναι ένα εργαλείο αυτοματισμού που στοχεύει στη μετατροπή των παραδοσιακών αρχείων manifests, σε helm charts. Ο βασικός στόχος αυτής της μεθόδου είναι να παρουσιάσει έναν τρόπο μείωσης του επαναλαμβανόμενου κώδικα όπως προκύπτει από την έξοδο του helmify. Η βασική ιδέα είναι να δημιουργηθεί ένα template, το οποίο θα περιέχει την ένωση όλων των χαρακτηριστικών που περιέχονται στα αρχεία manifest. Στη συνέχεια, τα αρχεία αυτά πρέπει να αλλάξουν ώστε να αναφέρονται απλώς σε αυτό το template που δημιουργήθηκε αντί να περιέχουν όλα τα χαρακτηριστικά που είχαν προηγουμένως. Συνολικά, η μέθοδος που προτείνεται σε αυτή την διπλωματική έχει αξιολογηθεί σε ορισμένες εφαρμογές του πραγματικού κόσμου με αποτελέσματα που δείχνουν μείωση του επαναλαμβανόμενου κώδικα, βοηθώντας στη συνολική συντηρησιμότητα του Infrastructure as Code.

Περιγραφή

Λέξεις-κλειδιά

Static analysis, Infrastructure as Code (IaC), Refactoring, Στατική ανάλυση, Κώδικας υποδομής, Αναδόμηση

Παραπομπή

Άδεια Creative Commons