@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
Denied terus
Ini setiap app/service dibuatin Kubernetes Service type LoadBalancer
ya? Mending satu aja yg LoadBalancer
(ingress controller).
service lain semua typenya clusterIP pak, loadbalancernya cuman ingress
ni problem juga jalanin image nginx:stable ada maslaah di node dgn kernel linux ver 5 >
ini masalah hidup sekarang wkwkw
OS: Linux 5.10.147+ selalu jalan tapi stack
harusnya process nya ada beberapa
Tapi bisa sampe ada 50 backend gt. Emang ingress-controllernya bikin 50 replica?
Mestinya kalo type ClusterIP ga akan create apapun di LB GCP.
Mungkin ada yg Salah Dari file yaml ingress saya pak
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: {}
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 )
Oh, ini pake GKE Ingress Controller yg bawaan ya. Pantes habis, soalnya setiap object Ingress
bakal mapping 1-1 sama Cloud LB, dan setiap http.paths[].backend.service
mapping 1-1 juga sama backend target di Cloud LB. Solusinya pake ini aja pak https://github.com/kubernetes/ingress-nginx jadi nanti yg quota backend service LB cuma kepake sama pod ingress-nginx itu, bukan semua service yg diexpose.
Betul, harus pake ingress controller merek tertentu
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
Setelah saya korelasikan dengan chat beliau yg sebelumnya sepertinya di satu Ingress itu ada 50 path routes pak, jadi jatah backend servicenya habis.
This.
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
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
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.
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