συστήματα

Γνώση Υπολογιστών >> συστήματα >  >> Ubuntu

Πώς να εγκαταστήσετε το Kong Gateway στο Ubuntu Linux

Προαπαιτούμενα

- Ένας διακομιστής Ubuntu 20.04 με χρήστη που δεν είναι root με δικαιώματα «sudo».

- Ένα σύμπλεγμα Kubernetes εγκατεστημένο στον διακομιστή, όπως «kubeadm», «k3s», «minikube», «Rancher» κ.λπ.

- Πρόσβαση στη γραμμή εντολών/παράθυρο τερματικού.

Βήμα 1:Ενημερώστε το σύστημα

Ενημερώστε τις λίστες πακέτων πριν προχωρήσετε σε οποιεσδήποτε εγκαταστάσεις:

``` sh

sudo apt update &&sudo apt upgrade -y

```

Βήμα 2:Προσθήκη χώρου αποθήκευσης πύλης Kong Kong

Εισαγάγετε το κλειδί 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

```

Βήμα 3:Εγκαταστήστε το Kong Gateway

Τώρα, εγκαταστήστε το Kong Gateway χρησιμοποιώντας τον τυπικό διαχειριστή πακέτων, apt.

```sh

sudo apt εγκατάσταση kong

```

Αυτή η εντολή θα πρέπει να εγκαταστήσει το Kong Gateway και όλες τις εξαρτήσεις του.

Βήμα 4:Ενεργοποιήστε και ελέγξτε την υπηρεσία Kong

Μόλις ολοκληρωθεί η εγκατάσταση, εκτελέστε την ακόλουθη εντολή για να ενεργοποιήσετε την υπηρεσία Kong:

```sh

sudo systemctl ενεργοποίηση kong

```

Και μετά, ξεκινήστε την υπηρεσία Kong:

```sh

sudo systemctl start kong

```

Για να επαληθεύσετε εάν εκτελείται η υπηρεσία Kong, χρησιμοποιήστε την ακόλουθη εντολή:

```sh

sudo systemctl status kong

```

Βήμα 5:Εγκαταστήστε το Ingress Controller

Στη συνέχεια, θα εγκαταστήσουμε τον ελεγκτή εισόδου 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".

Βήμα 6:Διαμόρφωση πρόσβασης εξωτερικής κυκλοφορίας στο Kong Gateway

Από προεπιλογή, το 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.

Βήμα 7:Δοκιμή της πύλης Kong

Για να ελέγξετε εάν το Kong Gateway λειτουργεί όπως αναμένεται, στείλτε ένα αίτημα σε αυτό. Εκτελέστε την ακόλουθη εντολή για να στείλετε ένα αίτημα HTTP χρησιμοποιώντας «curl».

```sh

curl -IL http://localhost:8000

```

Θα πρέπει να λάβετε μια απάντηση HTTP 404, η οποία θα υποδεικνύει ότι το Kong Gateway λαμβάνει το αίτημα, αλλά δεν υπάρχουν διαθέσιμες διαδρομές ή υπηρεσίες που να ταιριάζουν.

Βήμα 8:Ενοποίηση με τις Υπηρεσίες Kubernetes

Για να ολοκληρώσετε τη ρύθμιση, μπορείτε να αναπτύξετε μια απλή εφαρμογή στο σύμπλεγμα 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.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα