- Ένας διακομιστής Ubuntu 20.04 με χρήστη που δεν είναι root με δικαιώματα «sudo».
- Ένα σύμπλεγμα Kubernetes εγκατεστημένο στον διακομιστή, όπως «kubeadm», «k3s», «minikube», «Rancher» κ.λπ.
- Πρόσβαση στη γραμμή εντολών/παράθυρο τερματικού.
Ενημερώστε τις λίστες πακέτων πριν προχωρήσετε σε οποιεσδήποτε εγκαταστάσεις:
``` sh
sudo apt update &&sudo apt upgrade -y
```
Εισαγάγετε το κλειδί GPG για το αποθετήριο Kubernetes, το οποίο βοηθά στην αναγνώριση του εκδότη του πακέτου.
``` sh
μπούκλα https://download.konghq.com/keyring/kong.gpg | sudo apt-key add -
```
Δημιουργήστε τη λίστα αποθετηρίου Kong έτσι ώστε το apt να μπορεί να αποκτήσει το Kong από την επίσημη πηγή.
```sh
echo "deb [arch=amd64] https://download.konghq.com/deb stable main" | sudo tee /etc/apt/sources.list.d/kong.list
```
Τώρα, εγκαταστήστε το Kong Gateway χρησιμοποιώντας τον τυπικό διαχειριστή πακέτων, apt.
```sh
sudo apt εγκατάσταση kong
```
Αυτή η εντολή θα πρέπει να εγκαταστήσει το Kong Gateway και όλες τις εξαρτήσεις του.
Μόλις ολοκληρωθεί η εγκατάσταση, εκτελέστε την ακόλουθη εντολή για να ενεργοποιήσετε την υπηρεσία Kong:
```sh
sudo systemctl ενεργοποίηση kong
```
Και μετά, ξεκινήστε την υπηρεσία Kong:
```sh
sudo systemctl start kong
```
Για να επαληθεύσετε εάν εκτελείται η υπηρεσία Kong, χρησιμοποιήστε την ακόλουθη εντολή:
```sh
sudo systemctl status kong
```
Στη συνέχεια, θα εγκαταστήσουμε τον ελεγκτή εισόδου Kong, ο οποίος λειτουργεί ως γέφυρα μεταξύ του Kong Gateway και του Kubernetes.
Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε τον ελεγκτή εισόδου Kong χρησιμοποιώντας το Helm, τον διαχειριστή πακέτων Kubernetes:
``` sh
τιμόνι repo add kong https://charts.konghq.com
Ενημέρωση αποθετηρίου τιμονιού
τιμόνι εγκατάσταση kong/kong-ingress-controller --namespace=kong --create-namespace
```
Αυτό εγκαθιστά το Kong Ingress Controller σε έναν νέο χώρο ονομάτων "kong".
Από προεπιλογή, το Kong Gateway ακούει για αιτήματα στην τοπική διεπαφή και στη θύρα 8000. Για να επιτρέψουμε την απομακρυσμένη πρόσβαση εκτός του διακομιστή σας, όπως από τους πελάτες στο σύμπλεγμα σας, πρέπει να διαμορφώσουμε τις Πολιτικές Δικτύου του Kubernetes.
Δημιουργήστε την απαραίτητη Πολιτική Δικτύου χρησιμοποιώντας το «kubectl»:
```sh
kubectl δημιουργία -f - <<ΕΟΦ
apiVersion:networking.k8s.io/v1
είδος:NetworkPolicy
μεταδεδομένα:
όνομα:άδεια κυκλοφορίας
spec:
podSelector:{}
είσοδος:
- από:
- namespaceSelector:
matchLabels:
όνομα:kong
λιμάνια:
- θύρα:8000
πρωτόκολλο:TCP
ΕΟΦ
```
Αυτή η Πολιτική Δικτύου επιτρέπει σε όλα τα pod στον χώρο ονομάτων "kong" να στέλνουν κίνηση στο Kong Gateway.
Για να ελέγξετε εάν το Kong Gateway λειτουργεί όπως αναμένεται, στείλτε ένα αίτημα σε αυτό. Εκτελέστε την ακόλουθη εντολή για να στείλετε ένα αίτημα HTTP χρησιμοποιώντας «curl».
```sh
curl -IL http://localhost:8000
```
Θα πρέπει να λάβετε μια απάντηση HTTP 404, η οποία θα υποδεικνύει ότι το Kong Gateway λαμβάνει το αίτημα, αλλά δεν υπάρχουν διαθέσιμες διαδρομές ή υπηρεσίες που να ταιριάζουν.
Για να ολοκληρώσετε τη ρύθμιση, μπορείτε να αναπτύξετε μια απλή εφαρμογή στο σύμπλεγμα Kubernetes και να χρησιμοποιήσετε το Kong Gateway ως ελεγκτή εισόδου για τη δρομολόγηση αιτημάτων στην εφαρμογή.
Ακολουθεί ένα παράδειγμα δήλωσης "Deployment" για μια απλή εφαρμογή που ονομάζεται "nginx":
```γιαμλ
apiVersion:apps/v1
είδος:Ανάπτυξη
μεταδεδομένα:
όνομα:nginx
ετικέτες:
εφαρμογή:nginx
spec:
εκλέκτορας:
matchLabels:
εφαρμογή:nginx
αντίγραφα:1
περίγραμμα:
μεταδεδομένα:
ετικέτες:
εφαρμογή:nginx
spec:
δοχεία:
- όνομα:nginx
εικόνα:nginx:1.21
λιμάνια:
- containerPort:80
όνομα:http
```
Αποθηκεύστε το σε ένα αρχείο με το όνομα `nginx.yaml`. Στη συνέχεια, αναπτύξτε το στο σύμπλεγμα Kubernetes:
```sh
kubectl εφαρμόζω -f nginx.yaml
```
Αυτό δημιουργεί ένα Deployment για έναν απλό διακομιστή Nginx.
#### Δημιουργία της Υπηρεσίας
Στη συνέχεια, δημιουργήστε μια υπηρεσία Kubernetes που εκθέτει τη θύρα 80 όλων των pod με την ετικέτα `app=nginx`:
```γιαμλ
apiVersion:v1
είδος:Υπηρεσία
μεταδεδομένα:
όνομα:nginx
ετικέτες:
εφαρμογή:nginx
spec:
λιμάνια:
- θύρα:80
όνομα:http
εκλέκτορας:
εφαρμογή:nginx
```
Αποθηκεύστε το σε ένα αρχείο με το όνομα `nginx-service.yaml`. Στη συνέχεια, αναπτύξτε το στο σύμπλεγμα Kubernetes:
```sh
kubectl εφαρμόζω -f nginx-service.yaml
```
#### Δημιουργία του KongRoute
Τέλος, διαμορφώστε το Kong Gateway για να δρομολογεί την κυκλοφορία στην υπηρεσία «nginx». Παρακάτω είναι ένα παράδειγμα δήλωσης για ένα KongRoute:
```γιαμλ
apiVersion:konghq.com/v1
είδος:KongRoute
μεταδεδομένα:
όνομα:παράδειγμα
spec:
πρωτόκολλα:
- https
οικοδεσπότης:example.com
μονοπάτια:
- /
υπηρεσία:
όνομα:nginx-kong
θύρα:80
πρωτόκολλο:http
```
Αποθηκεύστε αυτό το μανιφέστο σε ένα αρχείο με το όνομα `example-route.yaml` και εφαρμόστε το στο σύμπλεγμα Kubernetes:
```sh
kubectl εφαρμόζω -f example-route.yaml
```
Αυτό δημιουργεί μια διαμόρφωση, που λέει στο Kong Gateway να δέχεται αιτήματα HTTPS στον τομέα `example.com` και να τα δρομολογεί στην υπηρεσία μας `nginx` που εκτελείται στη θύρα 80 χρησιμοποιώντας HTTP.
Τώρα, μπορείτε να δοκιμάσετε τη δρομολόγηση του Kong Gateway. Από οποιοδήποτε μηχάνημα με πρόσβαση στο σύμπλεγμα Kubernetes, εκτελέστε:
```sh
curl -k https://example.com
```
Εάν όλα έχουν ρυθμιστεί σωστά, θα πρέπει να δείτε την προεπιλεγμένη σελίδα καλωσορίσματος Nginx.
Συγχαρητήρια! Εγκαταστήσατε με επιτυχία το Kong Gateway στο Ubuntu Linux, ρυθμίσατε τον ελεγκτή εισόδου, ρυθμίσατε τις πολιτικές δικτύου και δοκιμάσατε τη δρομολόγηση σε μια εφαρμογή στο σύμπλεγμα Kubernetes.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα