Το Ingress χρησιμοποιείται για τη διαχείριση της εισερχόμενης κίνησης της εφαρμογής και επίσης για τον τερματισμό SSL. Αντίθετα, τα μυστικά χρησιμοποιούνται για την αποθήκευση εμπιστευτικών πληροφοριών και πιστοποιητικών TLS για εφαρμογή.
Αυτή η ανάρτηση θα απεικονίσει:
- Ποια είναι τα μυστικά του Kubernetes;
- Προϋπόθεση: Δημιουργία Ιδιωτικού Κλειδιού και Πιστοποιητικού
- Πώς να δημιουργήσετε μυστικό TLS στο Kubernetes;
- Πώς να δημιουργήσετε ένα μυστικό μέσω του αρχείου Yaml;
- Πώς να ενσωματώσετε το Secret με το Kubernetes Pod;
- συμπέρασμα
Ποια είναι τα μυστικά του Kubernetes;
Τα μυστικά είναι ένας από τους πόρους Kubernetes, που χρησιμοποιείται για την αποθήκευση εμπιστευτικών πληροφοριών, όπως διαπιστευτήρια σύνδεσης χρήστη, κλειδιά, πιστοποιητικά ή μάρκες. Τα μυστικά μπορούν να δημιουργηθούν μεμονωμένα και να συνδεθούν με λοβούς. Εμποδίζει τον προγραμματιστή να παρέχει εμπιστευτικά δεδομένα σε κώδικα και παρέχει επίσης ένα επιπλέον επίπεδο ασφάλειας. Μπορούν να δημιουργηθούν και να χρησιμοποιηθούν διάφορα είδη μυστικών. Τα μυστικά που χρησιμοποιούνται πιο συχνά είναι:
Γενικό Μυστικό: Τα γενικά μυστικά χρησιμοποιούνται για την αποθήκευση βασικών πληροφοριών όπως κωδικοί πρόσβασης, διακριτικά, κλειδιά API, κλειδιά OAuth και ούτω καθεξής.
TLS Secret: Τα μυστικά TLS χρησιμοποιούνται για την αποθήκευση ιδιωτικών κλειδιών και πιστοποιητικών που είναι υπογεγραμμένα από την ΑΠ. Για να διασφαλιστεί η ασφάλεια των εφαρμογών που εκτελούνται μέσα στο Kubernetes και για την ασφάλεια της επικοινωνίας μέσα στο σύμπλεγμα, ο χρήστης συνήθως χρειάζεται να δημιουργήσει και να ενσωματώσει μυστικά TLS στο pod.
Μητρώο Docker: Χρησιμοποιείται για την αποθήκευση των διαπιστευτηρίων μητρώου docker για εύκολη εξαγωγή των εικόνων από το μητρώο.
Προϋπόθεση: Δημιουργία Ιδιωτικού Κλειδιού και Πιστοποιητικού
Για να δημιουργήσετε το πιστοποιητικό και το ιδιωτικό κλειδί για βελτίωση της ασφάλειας, χρησιμοποιήστε το OpenSSL που δημιουργεί το CSR (αίτημα υπογραφής πιστοποιητικού) και το ιδιωτικό κλειδί. Στη συνέχεια, χρησιμοποιήστε το CSR για να δημιουργήσετε τα αυτο-υπογεγραμμένα πιστοποιητικά ή πιστοποιητικά ΑΠ.
Για να χρησιμοποιήσετε τις εντολές OpenSSL στα Windows, οι χρήστες πρέπει να εγκαταστήσουν το Git. Για το σκοπό αυτό, ακολουθήστε τη σύνδεσή μας ' Εγκαταστήστε το git στα Windows ' άρθρο.
Μετά την εγκατάσταση του git, ακολουθήστε τις παρακάτω οδηγίες για να δημιουργήσετε ένα ιδιωτικό κλειδί και ένα υπογεγραμμένο πιστοποιητικό.
Βήμα 1: Εκκινήστε το Git Bash Terminal
Κάντε μια αναζήτηση για ' Git Bash » στο μενού Έναρξη και εκκινήστε το τερματικό:
Για να ελέγξετε τον τρέχοντα κατάλογο χρησιμοποιήστε το ' pwd ' εντολή:
pwdΑυτήν τη στιγμή, εργαζόμαστε στον κατάλογο %USERPROFILE%:
Βήμα 2: Δημιουργία νέου καταλόγου
Δημιουργήστε έναν νέο κατάλογο για να αποθηκεύσετε τα πιστοποιητικά και το ιδιωτικό κλειδί:
mkdir πιστοποιητικόΠλοηγηθείτε στον νέο κατάλογο χρησιμοποιώντας το ' CD ' εντολή:
CD πιστοποιητικό
Βήμα 3: Δημιουργία ιδιωτικού κλειδιού
Τώρα, δημιουργήστε το ιδιωτικό κλειδί μέσω της δεδομένης εντολής. Εδώ, το δημιουργημένο ιδιωτικό κλειδί θα αποθηκευτεί στο ' mycert.κλειδί ”:
openssl genpkey -algorithm RSA -έξω mycert.κλειδί
Βήμα 4: Δημιουργία ΕΚΕ
Για να δημιουργήσετε το CSR (αίτημα υπηρεσίας πιστοποιητικού) για να λάβετε ένα υπογεγραμμένο πιστοποιητικό, χρησιμοποιήστε τη δεδομένη εντολή:
openssl απαίτηση -νέος -κλειδί mycert.κλειδί -έξω mycert.csr
Βήμα 5: Δημιουργία πιστοποιητικού
Τέλος, χρησιμοποιώντας το δημιουργημένο ιδιωτικό κλειδί και το CSR, δημιουργήστε ένα πιστοποιητικό και αποθηκεύστε το στο ' mycert.crt ' αρχείο. Για το σκοπό αυτό, εκτελέστε την παρακάτω εντολή:
openssl x509 -απαιτ -σε mycert.csr -σημαδιακό κλειδί mycert.κλειδί -έξω mycert.crt -ημέρες 365
Μετά τη δημιουργία των πιστοποιητικών TLS, ο χρήστης μπορεί να δημιουργήσει το μυστικό TLS ακολουθώντας την παρακάτω ενότητα.
Πώς να δημιουργήσετε μυστικό TLS στο Kubernetes;
Για να διασφαλιστεί η ασφάλεια της εφαρμογής και η ασφαλής επικοινωνία εντός και εκτός του συμπλέγματος Kubernetes, τα πιστοποιητικά TLS (Transport Layer Security) είναι απαραίτητα που χρησιμοποιούνται στην κρυπτογράφηση δεδομένων. Το μυστικό Kubernetes μας επιτρέπει να ενσωματώσουμε το πιστοποιητικό TLS με εκτελούμενα pods μέσω μυστικού TLS. Για να δημιουργήσετε ένα μυστικό TLS στο Kubernetes, ακολουθήστε τις παρακάτω οδηγίες.
Βήμα 1: Ξεκινήστε το Minikube Cluster
Για να ξεκινήσετε το σύμπλεγμα minikube, ξεκινήστε πρώτα το Windows PowerShell ως διαχειριστής. Μετά από αυτό, δημιουργήστε και εκτελέστε το σύμπλεγμα χρησιμοποιώντας το ' minikube εκκίνηση ' εντολή:
minikube εκκίνηση
Βήμα 2: Λήψη κόμβων
Αποκτήστε πρόσβαση στον κόμβο Kubernetes για να ελέγξετε εάν το σύμπλεγμα έχει ξεκινήσει ή όχι:
minikube λήψη κόμβων
Βήμα 3: Δημιουργήστε Secret TLS
Δημιουργήστε το μυστικό TLS στο Kubernetes χρησιμοποιώντας το ' kubectl δημιουργία μυστικού
Βήμα 4: Αποκτήστε μυστικά
Για επιβεβαίωση, καταγράψτε το μυστικό Kubernetes χρησιμοποιώντας τη δεδομένη εντολή:
kubectl πάρει μυστικόΕδώ, μπορείτε να δείτε ότι έχουμε δημιουργήσει αποτελεσματικά ένα ' επίδειξης απόρρητο ' που περιέχει ' 2 ” Τιμές δεδομένων:
Βήμα 5: Περιγράψτε το Secret
Για να δείτε πώς προβάλλονται ή αποθηκεύονται τα δεδομένα κρυφά, περιγράψτε το μυστικό χρησιμοποιώντας το ' kubectl περιγράφουν το μυστικό
Μπορείτε να δείτε ότι οι τιμές αποθηκεύονται σε byte και δεν μπορούν να προβληθούν απευθείας σε αντίθεση με το Kubernetes ConfigMaps:
Πώς να δημιουργήσετε ένα μυστικό TLS μέσω του αρχείου Yaml;
Για να δημιουργήσετε ένα μυστικό TLS μέσω ενός αρχείου yaml, πρώτα δημιουργήστε ένα ' μυστικό.yml ” αρχείο, προσθέστε το tls base64 κωδικοποιημένο πιστοποιητικό στο ' tls.crt πλήκτρο ” και προσθέστε το κωδικοποιημένο κλειδί base64 στο ' tls.κλειδί '.
Για επίδειξη, ακολουθήστε τα βήματα που αναφέρονται.
Βήμα 1: Δημιουργία αρχείου Yaml
Δημιουργήστε ένα αρχείο με όνομα ' μυστικό.yml ” και επικολλήστε τον κωδικό που δίνεται:
apiVersion : v1δεδομένα :
tls.crt : 'κωδικοποιημένο πιστοποιητικό βάσης 64'
tls.κλειδί : 'κωδικοποιημένο κλειδί base64'
είδος : Μυστικό
μεταδεδομένα :
όνομα : mytls-μυστικό
χώρο ονομάτων : Προκαθορισμένο
τύπος : kubernetes.io/tls
Στο παραπάνω απόσπασμα, αντικαταστήστε τις τιμές των κλειδιών 'tls.crt' και 'tls.key' με το αρχικό πιστοποιητικό και τις τιμές κλειδιών:
Βήμα 2: Δημιουργήστε ένα μυστικό
Τώρα, εφαρμόστε το μυστικό αρχείο yaml μέσω του ' kubectl apply -f
Η έξοδος δείχνει ότι δημιουργήσαμε με επιτυχία το ' mytls-μυστικό ” χρησιμοποιώντας το αρχείο yaml:
Σημείωση: Δείτε το πιστοποιητικό TLS και το ιδιωτικό κλειδί
Για να προβάλετε το κωδικοποιημένο πιστοποιητικό base64 και να το χρησιμοποιήσετε στο αρχείο yaml, εκτελέστε το ' cat <αρχείο διαδρομής προς πιστοποιητικό> | βάση64 εντολή ' στο τερματικό git bash:
Γάτα mycert.crt | βάση64Για να δείτε το κωδικοποιημένο κλειδί base64, χρησιμοποιήστε το ' cat <αρχείο διαδρομής προς κλειδί> | βάση64 ' εντολή:
Γάτα mycert.κλειδί | βάση64Πώς να ενσωματώσετε το Secret TLS με το Kubernetes Pod;
Αφού δημιουργήσει το μυστικό TSL, ο χρήστης μπορεί να το ενσωματώσει με το Kubernetes pod. Για να το κάνετε αυτό, χρησιμοποιήστε τις παρακάτω οδηγίες.
Βήμα 1: Δημιουργία αρχείου Yaml
Δημιουργήστε ένα αρχείο με το όνομα ' pod.yml ” αρχείο και επικολλήστε το παρακάτω απόσπασμα στο αρχείο:
apiVersion: v1είδος: Pod
μεταδεδομένα:
όνομα: demo-pod
spec:
δοχεία:
- όνομα: html-cont
εικόνα: rafia098 / html-img: 1.0
envΑπό:
- secretRef:
όνομα: demo-secret
Στο παραπάνω απόσπασμα:
- ' είδος Το πλήκτρο ” καθορίζει τον πόρο Kubernetes που δημιουργεί ο χρήστης.
- ' όνομα Το πλήκτρο ” θα ορίσει το όνομα του pod.
- ' δοχεία Το πλήκτρο ” θα αποθηκεύσει τις πληροφορίες του κοντέινερ.
- ' όνομα Το πλήκτρο ' κάτω από το πλήκτρο 'containers' θα ορίσει το όνομα του κοντέινερ.
- ' εικόνα Το πλήκτρο ” θα παρέχει την εικόνα της εφαρμογής ή του κοντέινερ για τη δημιουργία και την εκκίνηση της εφαρμογής μέσα στο κοντέινερ.
- ' envΑπό Το πλήκτρο ” θα ορίσει τη μεταβλητή περιβάλλοντος από άλλους πόρους του Kubernetes. Εδώ, για να ενσωματώσετε το μυστικό TLS σε ένα pod, ' secretRef ' χρησιμοποιείται για την παροχή μυστικής αναφοράς. Για να ενσωματώσετε το παραπάνω μυστικό TLS, καθορίστε το όνομα του μυστικού στο κλειδί 'όνομα'.
Βήμα 2: Δημιουργήστε ή αναβαθμίστε το Pod
Στη συνέχεια, ανοίξτε το φάκελο όπου το ' pod.yml » δημιουργείται το αρχείο:
CD C:\Users\Dell\Documents\Kubernetes\Secret
Εφαρμόστε το αρχείο yaml για να δημιουργήσετε ή να ρυθμίσετε εκ νέου το pod χρησιμοποιώντας το ' ισχύει kubectl ' εντολή:
ισχύει kubectl -φά pod.yml
Βήμα 3: Πρόσβαση στο Kubernetes Pods
Για επαλήθευση, καταγράψτε τις ομάδες Kubernetes:
kubectl παίρνω podΕδώ, μπορείτε να δείτε ότι έχουμε δημιουργήσει το ' demo-pod ” με επιτυχία:
Βήμα 4: Περιγράψτε το Pod
Για να ελέγξετε εάν το pod έχει ενσωματώσει το μυστικό TLS ή όχι, περιγράψτε το pod χρησιμοποιώντας την παρακάτω εντολή:
το kubectl περιγράφει το pod demo-podΗ παρακάτω έξοδος δείχνει ότι έχουμε ενσωματώσει με επιτυχία το μυστικό TLS με το pod:
Καλύψαμε πώς να δημιουργήσουμε μυστικό TLS και να το ενσωματώσουμε με την εφαρμογή Kubernetes που εκτελείται στο pod.
συμπέρασμα
Για να δημιουργήσετε το μυστικό TLS στο Kubernetes, δημιουργήστε πρώτα το υπογεγραμμένο πιστοποιητικό TLS και το ιδιωτικό κλειδί. Μετά από αυτό, ξεκινήστε το σύμπλεγμα Kubernetes και εκτελέστε το ' kubectl δημιουργία μυστικού