Istio Ingress Gateway nedir?

Istio Ingress Gateway nedir?

Istio gateway service mesh yapısını gateway ile ingress(dıştan gelen) trafikler için de kullanabilmezi sağlıyor. Nasıl?


apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: bookinfo-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*" # deployment env için bu tıkır tıkır çalışır. *

* Ama eğer prod ortamlarda istio kurulmak isteniyorsa * yerine domain adresi/adresleri yazmanız gerekiyor.

İpucu: Domain almadan da /etc/hosts editleyerek kendi bilgisayarınızı domain varmışcasına kandırabilirsiniz. 🙂
İşte benim örnek hosts dosyam;
..
127.0.25.36 kubernetesturkey.com
..

veeee
$ ping kubernetesturkey.com
PING kubernetesturkey.com (127.0.25.36) 56(84) bytes of data.
64 bytes from kubernetesturkey.com (127.0.25.36): icmp_seq=1 ttl=64 time=0.064 ms

Gateway tamam. Şimdi virtualservice geçelim.
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: bookinfo
spec:
hosts:
- "*" # gateway bölümünde bahsetmiştim
gateways:
- bookinfo-gateway # burası önemli
http:
- match: # Kendini açıklıyor
- uri:
exact: /productpage
- uri:
prefix: /static
- uri:
exact: /login
- uri:
exact: /logout
- uri:
prefix: /api/v1/products
route:
- destination:
host: productpage
port:
number: 9080

Apply edip istioctl ile kontrol edelim.

kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
gateway.networking.istio.io/bookinfo-gateway created
virtualservice.networking.istio.io/bookinfo created

So far so good...

$ istioctl analyze
Error [IST0101] (Gateway bookinfo-gateway.default) Referenced selector not found: "istio=ingressgateway"
Error: Analyzers found issues when analyzing namespace: default.
See https://istio.io/docs/reference/config/analysis for more information about causes and resolutions.

Haydaa...

Devamı gelicek...

Yorum Yapın