CodeBlanks Logo Icon CodeBlanks

Host ve path

Host ve path tabanlı yönlendirmeyi öğrenirsin.

Host ve path

Tek bir Ingress hem alan adına hem yola göre yönlendirebilir. pathType eşleşme biçimidir:

  • Prefix: /api, /api ve /api/urunler ile eşleşir (yol parçasına göre).
  • Exact: yalnızca tam olarak /api.

Birden çok yol eşleşirse en uzun önek kazanır.

  rules:
    - host: magaza.example.com
      http:
        paths:
          - path: /api
            pathType: Prefix
            backend: {service: {name: api, port: {number: 8000}}}
          - path: /
            pathType: Prefix
            backend: {service: {name: web, port: {number: 80}}}
    - host: panel.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend: {service: {name: panel, port: {number: 80}}}

Yerelde denemek

Gerçek bir DNS kaydı olmadan test etmek için istek controller'ın IP'sine gönderilir ve alan adı Host başlığıyla verilir; ya da /etc/hosts'a satır eklenir:

curl -H "Host: magaza.example.com" http://$(minikube ip)/api/saglik
echo "$(minikube ip) magaza.example.com panel.example.com" | sudo tee -a /etc/hosts
curl http://panel.example.com/

Uygulama İki yollu Ingress

Bir Ingress'in rules bölümünü yaz (rules: ile başlayarak): host magaza.example.com; /api (Prefix) api servisinin 8000 portuna, / (Prefix) web servisinin 80 portuna gitsin.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
rules:
  - host: magaza.example.com
    http:
      paths:
        - path: /api
          pathType: Prefix
          backend:
            service:
              name: api
              port:
                number: 8000
        - path: /
          pathType: Prefix
          backend:
            service:
              name: web
              port:
                number: 80

Beklenen çıktı

ingress.networking.k8s.io/magaza configured
$ curl -H "Host: magaza.example.com" http://192.168.49.2/api/saglik
{"durum":"ok"}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Yukarıdaki kurallarla magaza.example.com/api/urunler isteği nereye gider?

  • api:8000 Doğru cevap
  • web:80
  • panel:80
  • 404

Açıklama: /api, / öneğinden daha uzun olduğu için kazanır.

2 Yalnızca tam yolu eşleştir.

Soru
          - path: /saglik
            pathType: ____
Cevap
          - path: /saglik
            pathType: Exact

Açıklama: Exact tam eşleşmedir.

3 Eşleştir.

Kavram Anlamı
Prefix Yol parçası öneki
Exact Tam eşleşme
en uzun önek Çakışmada kazanır
Host başlığı DNS'siz test

İleri seviye bölümündeki tüm dersler