Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako nainštalovať Kong Gateway na Ubuntu Linux

Predpoklady

- Server Ubuntu 20.04 s používateľom iného typu než root s oprávneniami `sudo`.

- Klaster Kubernetes nainštalovaný na serveri, napríklad `kubeadm`, `k3s`, `minikube`, `Rancher` atď.

- Prístup k príkazovému riadku/oknu terminálu.

Krok 1:Aktualizujte systém

Pred pokračovaním v inštalácii aktualizujte zoznamy balíkov:

```sh

sudo apt update &&sudo apt upgrade -y

```

Krok 2:Pridajte úložisko brány Kong Kong

Importujte kľúč GPG pre úložisko Kubernetes, ktorý pomáha identifikovať vydavateľa balíka.

```sh

curl https://download.konghq.com/keyring/kong.gpg | sudo apt-key add -

```

Vytvorte zoznam úložiska Kong, aby apt mohol získať Kong z oficiálneho zdroja.

```sh

echo "deb [arch=amd64] https://download.konghq.com/deb stable main" | sudo tee /etc/apt/sources.list.d/kong.list

```

Krok 3:Nainštalujte Kong Gateway

Teraz nainštalujte Kong Gateway pomocou štandardného správcu balíkov, apt.

```sh

sudo apt install kong

```

Tento príkaz by mal nainštalovať Kong Gateway a všetky jeho závislosti.

Krok 4:Povolenie a kontrola služby Kong

Po dokončení inštalácie spustite nasledujúci príkaz, aby ste povolili službu Kong:

```sh

sudo systemctl povoliť kong

```

A potom spustite službu Kong:

```sh

sudo systemctl štart kong

```

Ak chcete overiť, či je služba Kong spustená, použite nasledujúci príkaz:

```sh

sudo systemctl stav kong

```

Krok 5:Nainštalujte Ingress Controller

Ďalej nainštalujeme Kong Ingress Controller, ktorý funguje ako most medzi Kong Gateway a Kubernetes.

Spustite nasledujúci príkaz a nainštalujte Kong Ingress Controller pomocou Helm, správcu balíkov Kubernetes:

```sh

kormidlo repo pridať kong https://charts.konghq.com

kormidlo repo aktualizácia

kormidlo nainštalovať kong/kong-ingress-controller --namespace=kong --create-namespace

```

Toto nainštaluje Kong Ingress Controller do novovytvoreného menného priestoru `kong`.

Krok 6:Konfigurácia externého prístupu k bráne Kong Gateway

V predvolenom nastavení Kong Gateway počúva požiadavky na lokálnom rozhraní a porte 8000. Aby sme povolili vzdialený prístup mimo vášho servera, napríklad z klientov vo vašom klastri, musíme nakonfigurovať sieťové politiky Kubernetes.

Vytvorte potrebnú sieťovú politiku pomocou `kubectl`:

```sh

kubectl vytvoriť -f - < apiVersion:networking.k8s.io/v1

druh:NetworkPolicy

metadáta:

názov:povoliť-premávka

špecifikácia:

podSelector:{}

vstup:

- od:

- Selektor menného priestoru:

matchLabels:

meno:kong

porty:

- port:8000

protokol:TCP

EOF

```

Táto sieťová politika umožňuje všetkým modulom v mennom priestore `kong` posielať prenos na bránu Kong.

Krok 7:Testovanie brány Kong Gateway

Ak chcete otestovať, či Kong Gateway funguje podľa očakávania, odošlite naň požiadavku. Spustite nasledujúci príkaz na odoslanie požiadavky HTTP pomocou `curl`.

```sh

curl -IL http://localhost:8000

```

Mali by ste dostať odpoveď HTTP 404, ktorá naznačuje, že brána Kong prijíma požiadavku, ale nie sú dostupné žiadne zodpovedajúce trasy ani služby.

Krok 8:Integrácia so službami Kubernetes

Na dokončenie nastavenia môžete nasadiť jednoduchú aplikáciu do klastra Kubernetes a použiť Kong Gateway ako kontrolór vstupu na smerovanie požiadaviek do aplikácie.

Tu je príklad manifestu „Deployment“ pre jednoduchú aplikáciu s názvom „nginx“:

```jaml

apiVersion:apps/v1

druh:Nasadenie

metadáta:

meno:nginx

štítky:

aplikácia:nginx

špecifikácia:

selektor:

matchLabels:

aplikácia:nginx

repliky:1

šablóna:

metadáta:

štítky:

aplikácia:nginx

špecifikácia:

kontajnery:

- meno:nginx

obrázok:nginx:1,21

porty:

- kontajnerPort:80

meno:http

```

Uložte ho do súboru s názvom `nginx.yaml`. Potom ho nasaďte do klastra Kubernetes:

```sh

kubectl aplikovať -f nginx.yaml

```

Tým sa vytvorí nasadenie pre jednoduchý server Nginx.

#### Vytvorenie služby

Ďalej vytvorte službu Kubernetes, ktorá odkryje port 80 všetkých modulov s označením `app=nginx`:

```jaml

apiVersion:v1

druh:Služba

metadáta:

meno:nginx

štítky:

aplikácia:nginx

špecifikácia:

porty:

- port:80

meno:http

selektor:

aplikácia:nginx

```

Uložte ho do súboru s názvom `nginx-service.yaml`. Potom ho nasaďte do klastra Kubernetes:

```sh

kubectl apply -f nginx-service.yaml

```

#### Vytvorenie KongRoute

Nakoniec nakonfigurujte Kong Gateway na smerovanie prevádzky do našej služby `nginx`. Nižšie je uvedený príklad manifestu pre KongRoute:

```jaml

apiVersion:konghq.com/v1

druh:KongRoute

metadáta:

meno:príklad

špecifikácia:

protokoly:

- https

hostiteľ:example.com

cesty:

- /

služba:

meno:nginx-kong

port:80

protokol:http

```

Uložte tento manifest do súboru s názvom `example-route.yaml` a aplikujte ho na svoj klaster Kubernetes:

```sh

kubectl apply -f example-route.yaml

```

Tým sa vytvorí konfigurácia, ktorá povie Kong Gateway, aby akceptovala požiadavky HTTPS na doménu „example.com“ a smerovala ich do našej služby „nginx“ spustenej na porte 80 pomocou HTTP.

Testovacie smerovanie

Teraz môžete otestovať smerovanie Kong Gateway. Z ľubovoľného počítača s prístupom do klastra Kubernetes spustite:

```sh

curl -k https://example.com

```

Ak je všetko nastavené správne, mala by sa vám zobraziť predvolená uvítacia stránka Nginx.

Gratulujem! Úspešne ste nainštalovali Kong Gateway na Ubuntu Linux, nastavili Ingress Controller, nakonfigurovali sieťové politiky a otestovali smerovanie do aplikácie vo vašom klastri Kubernetes.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené