Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
- 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.
Pred pokračovaním v inštalácii aktualizujte zoznamy balíkov:
```sh
sudo apt update &&sudo apt upgrade -y
```
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
```
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.
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
```
Ď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`.
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 - <
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.
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.
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.
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.
Krok 7:Testovanie brány Kong Gateway
Krok 8:Integrácia so službami Kubernetes
Testovacie smerovanie