Teknologi Umum v2.0
Muhammad Nasrul

@zasdaym pak, di gcp Ingress disable backend service gimana ya

pusing kena limit Error syncing to GCP: error running backend syncing routine: googleapi: Error 403: QUOTA_EXCEEDED - Quota 'GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES' exceeded. Limit: 50.0 globally.

udah request quota di dinied

Zasda Yusuf Mikail
Muhammad Nasrul

pusing kena limit Error syncing to GCP: error running backend syncing routine: googleapi: Error 403: QUOTA_EXCEEDED - Quota 'GLOBAL_EXTERNAL_PROXY_LB_BACKEND_SERVICES' exceeded. Limit: 50.0 globally.

Ini setiap app/service dibuatin Kubernetes Service type LoadBalancer ya? Mending satu aja yg LoadBalancer (ingress controller).

ni problem juga jalanin image nginx:stable ada maslaah di node dgn kernel linux ver 5 >

OS: Linux 5.10.147+ selalu jalan tapi stack

harusnya process nya ada beberapa

Zasda Yusuf Mikail
Muhammad Nasrul

service lain semua typenya clusterIP pak, loadbalancernya cuman ingress

Tapi bisa sampe ada 50 backend gt. Emang ingress-controllernya bikin 50 replica?

Muhammad Nasrul
Zasda Yusuf Mikail

Mestinya kalo type ClusterIP ga akan create apapun di LB GCP.

Mungkin ada yg Salah Dari file yaml ingress saya pak

Zasda Yusuf Mikail
Muhammad Nasrul

Mungkin ada yg Salah Dari file yaml ingress saya pak

Ada pake annotation ada di Service ClusterIP-nya?

Muhammad Nasrul
Zasda Yusuf Mikail

Ada pake annotation ada di Service ClusterIP-nya?

enggak ada pak, service nya gini doang

apiVersion: v1
kind: Service
metadata:
  name: service-core
  namespace: default
  labels:
      name: helloworld
      app: helloworld
spec:
  selector:
    name: helloworld
    app: helloworld
  ports:
    - port: 80
      targetPort: 7000  

utk ingressnya begini

apiVersion: "networking.k8s.io/v1"
kind: "Ingress"
metadata:
  name: "super-apps-ingress"
  namespace: "default"
  annotations:
    networking.gke.io/managed-certificates: apps.example.app
spec:
  rules:
  - host: "apps.example.app"
    http:
      paths:                
        - backend:
            service:
              name: service-core
              port:
                number: 80
          path: /
          pathType: Prefix
        - backend:
            service:
              name: service-authentication
              port:
                number: 80
          path: /auth
          pathType: Prefix
status:
  loadBalancer: {}
Zasda Yusuf Mikail
Muhammad Nasrul

ini backend servicesnya sejumlah service2 saya + kube system 1

Kenapa semua service sampe kube-system/default ada di situ juga, wkwk. Harusnya yg di situ cuma service ingress-controller (misal nginx, haproxy, contour, dsb )

Eh, tapi kalo ingress nya 1 harusnya bisa jg sih

Kenapa bisa habis ya

Intinya tuh cloud LB mapping 1-1 sama ingress dan service yg tipenya LB

Nah kalo cluster lo mengandung banyak 2 benda ini maka bakalan habis, which is supposedly not the case sih kalo ngeliat yaml lo

Zasda Yusuf Mikail
Jason Wihardja

Nah kalo cluster lo mengandung banyak 2 benda ini maka bakalan habis, which is supposedly not the case sih kalo ngeliat yaml lo

Setelah saya korelasikan dengan chat beliau yg sebelumnya sepertinya di satu Ingress itu ada 50 path routes pak, jadi jatah backend servicenya habis.

Jason Wihardja

I know, limitnya habis, tapi bukannya kalo ingress nya cuma 1 maka LB yang ke create cuma 1 ya?

Is that not the case kalo di GCP? Di cloud2 lain yang gw coba semua kayak gitu

AWS, Azure, Alibaba

Zasda Yusuf Mikail
Jason Wihardja

I know, limitnya habis, tapi bukannya kalo ingress nya cuma 1 maka LB yang ke create cuma 1 ya?

Yes, memang cuma 1. Yang kena quota limit bukan LB-nya pak, tapi backend dari si LB.

Jason Wihardja
Zasda Yusuf Mikail

Yes, memang cuma 1. Yang kena quota limit bukan LB-nya pak, tapi backend dari si LB.

Oh, maybe ya. Tapi TIL sih routes punya limit jg di GCP

Ok lah di cloud lain limit jg ada, tapi ga 50 kayaknya, diatas itu

Ya bener, solusinya harus pake ingress controller merek lain

Jadi ingress nya lempar aja langsung ke si controller itu, di controller baru punya banyak routing

Zasda Yusuf Mikail
Jason Wihardja

Ok lah di cloud lain limit jg ada, tapi ga 50 kayaknya, diatas itu

Wkwk, mungkin udah dibenchmark sama tim GCP kalo di atas 50 routes pattern matchingnya lemot.

Kalo kebutuhannya cuma expose HTTP service mending pake https://cloud.google.com/run/ daripada melihara Kubernetes cluster sendiri.

Jason Wihardja

Di AWS, equivalent nya ini gw cek2 malah ga disebutin punya limit https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.4/guide/ingress/annotations/

Tapi kalo API gateway AWS ada limitnya, gw pernah kena dulu

But still, limitnya tuh gede, kayak berapa ratus gitu