CodeBlanks Logo Icon CodeBlanks

Ingress YAML

Ingress kaynak YAML yapısını öğrenirsin.

Ingress YAML

Ingress kuralları rules altında listelenir; her kural bir host ve bir dizi paths içerir. Her yol bir backend servise gider:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: magaza
spec:
  ingressClassName: nginx
  rules:
    - host: magaza.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web
                port:
                  number: 80

Varsayılan backend

Hiçbir kurala uymayan istekler defaultBackend'e gider; tanımlı değilse controller 404 döner. host yazılmayan bir kural tüm alan adlarını kabul eder:

spec:
  ingressClassName: nginx
  defaultBackend:
    service:
      name: bulunamadi
      port:
        number: 80
  rules:
    - http:                # host yok: tüm adlar
        paths:
          - path: /
            pathType: Prefix
            backend:
              service: {name: web, port: {number: 80}}

Uygulama Ingress yaz

Bir Ingress YAML'ı yaz: adı magaza; ingressClassName: nginx; host magaza.example.com; / yolu (pathType: Prefix) web servisinin 80 portuna gitsin.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: magaza
spec:
  ingressClassName: nginx
  rules:
    - host: magaza.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web
                port:
                  number: 80

Beklenen çıktı

ingress.networking.k8s.io/magaza created

Soru ve cevaplar

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

1 Ingress'in apiVersion değeri nedir?

  • extensions/v1beta1
  • networking.k8s.io/v1 Doğru cevap
  • v1
  • apps/v1

Açıklama: extensions/v1beta1 eski ve kaldırılmış sürümdür.

2 Backend servisin portunu ver.

Soru
            backend:
              service:
                name: web
                port:
                  ____: 80
Cevap
            backend:
              service:
                name: web
                port:
                  number: 80

Açıklama: Port ya number ya da name ile verilir.

3 Eşleştir.

Kavram Anlamı
rules Kural listesi
host Alan adı
backend.service Hedef servis
defaultBackend Eşleşmeyenler

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