കുബർനെറ്റിലെ സ്കേലിംഗ്ഃ HPA, VPA, KEDA, കർപന്റർ
നാല് ഓട്ടോ സ്കേലറുകൾ, ഓരോന്നിനും അതിന്റേതായ ജോലി. എപ്പോൾ ഉപയോഗിക്കണം, എങ്ങനെ ഒരുമിച്ചു പ്രവർത്തിക്കണം.
നാല് ഓട്ടോ സ്കേലറുകൾ, ഓരോന്നിനും അതിന്റേതായ ജോലി. എപ്പോൾ ഉപയോഗിക്കണം, എങ്ങനെ ഒരുമിച്ചു പ്രവർത്തിക്കണം.

"കുബർനെറ്റസ് യാന്ത്രികമായി സ്കെയിൽ ചെയ്യുന്നു" എന്നത് ഒരേ സമയം സത്യവും തെറ്റായതുമായ ഒരു വാക്യമാണ്. കുബർനെറ്റിന് സ്വയം സ്കെയിൽ ചെയ്യാം, പക്ഷെ നിങ്ങൾ അത് സജ്ജമാക്കിയാൽ മാത്രം, വ്യത്യസ്തമായ നിരവധി ഓട്ടോ സ്കെയിലറുകൾ ഉണ്ട്, അവ വളരെ വ്യത്യസ്തമായ കാര്യങ്ങൾ ചെയ്യുന്നു.
ഇങ്ങനെയാണ് ഞാൻ അവയെ വിശദീകരിക്കുന്നത്, അവ എങ്ങനെ യോജിക്കുന്നു.
ആദ്യം മനസ്സിലാക്കേണ്ടത് സ്കേലിംഗ് രണ്ട് തലങ്ങളിലാണ്.
സാധാരണയായി രണ്ടിനും വേണ്ടിവരും. ആട്ടോ സ്കെയിലർ ആപ്പിളുകൾ ഉണ്ടാക്കുന്നു, പക്ഷേ അവയ്ക്ക് സ്ഥലം ഇല്ലെങ്കിൽ, അവ അവിടെ തന്നെ നിൽക്കും Pending ഒരു നോഡ് ഓട്ടോ സ്കെയിലർ ശേഷി കൂട്ടിച്ചേര് ക്കുന്നതുവരെ.
സി. ഹൊറിസോണ്ടൽ പോഡ് ഓട്ടോസ്കേലർ കുബർനെറ്റീസിൽ തന്നെ ഉണ്ടായിരിക്കണം. അത് ഒരു മെട്രിക് കാണുകയും റെപ്ലിക്കുകളുടെ എണ്ണം മാറ്റുകയും ചെയ്യുന്നു.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: shop-api
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: shop-api
minReplicas: 2
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
സിപിയു അടിസ്ഥാനമാക്കിയുള്ള സ്കേലിംഗ് സംസ്ഥാനമില്ലാത്ത വെബ് സേവനങ്ങൾക്ക് നന്നായി പ്രവർത്തിക്കുന്നു. രണ്ടു കാര്യങ്ങൾ അറിയണം:
സി. വെർട്ടിക്കൽ പോഡ് ഓട്ടോസ്കേലർ യഥാർത്ഥ വിഭവ ഉപയോഗം നിരീക്ഷിക്കുകയും ശുപാർശ ചെയ്യുകയും അല്ലെങ്കിൽ മെച്ചപ്പെട്ട അഭ്യർത്ഥനകളും പരിമിതികളും നിശ്ചയിക്കുകയും ചെയ്യുന്നു.
ഇത് വളരെ ഉപകാരപ്രദമാണ് ശുപാർശ മോഡ്ഒരു ആഴ്ചത്തേക്ക് ഓടിച്ചാല് നിങ്ങളുടെ കോപ്പുകള് ക്ക് യഥാര് ത്ഥത്തില് ആവശ്യമുള്ളത് എന്താണെന്ന് അത് പറയും. ഓട്ടോമാറ്റിക് മോഡിൽ, ചരിത്രപരമായി, അവയുടെ വിഭവങ്ങൾ മാറ്റാൻ, അവയുടെ ബൂട്ടുകൾ പുനരാരംഭിക്കേണ്ടി വന്നു. കുബർനെറ്റീസിൽ ഇപ്പോൾ സ്ഥിരതയുള്ള സ്ഥലത്തെ വലിപ്പം മാറ്റിയതോടെ, അത് വളരെ കുറവായിരിക്കും.
പ്രധാനം: ഒരേ സിപിയു മെട്രിക് ഉപയോഗിച്ച് വിപിഎയും എച്ച്പിഎയും ഉപയോഗിക്കരുത് ഒരേ ജോലിഭാരം. അവര് പരസ്പരം പോരാടും.
കെ. ഇ. ഡി. എ (കുബർനെറ്റ്സ് ഇവന്റ് നയിക്കുന്ന ഓട്ടോ സ്കെയിലിംഗ്) ഒരു സിഎൻസിഎഫ് പ്രോജക്ട് ആണ്, ഇത് ഡസൻ കണക്കിന് ഇവന്റ് ഉറവിടങ്ങളുമായി എച്ച്പിഎ വിപുലീകരിക്കുന്നുഃ റാബിറ്റ് എംക്യുയിലെ ക്യൂ ദൈർഘ്യം, കഫ്ക ലാഗ്, എസ്ക്യുഎസ് സന്ദേശങ്ങൾ, പ്രോമെതീയസ് അന്വേഷണങ്ങൾ, ക്രോൺ ഷെഡ്യൂളുകൾ എന്നിവയും അതിലേറെയും.
അതിന്റെ കൊലപാതക സവിശേഷത: പൂജ്യം വരെ സ്കേലിംഗ്. ഒരു ക്യൂ പ്രോസസ്സ് ചെയ്യുന്ന ഒരു തൊഴിലാളിയ്ക്ക് ക്യൂ ശൂന്യമാകുമ്പോൾ പൂജ്യം പോഡുകൾ ഉണ്ടായിരിക്കാം, സന്ദേശങ്ങൾ എത്തുമ്പോൾ സ്കെയിൽ ചെയ്യാം.
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: order-worker
spec:
scaleTargetRef:
name: order-worker
minReplicaCount: 0
maxReplicaCount: 30
triggers:
- type: rabbitmq
metadata:
queueName: orders
mode: QueueLength
value: "20"
authenticationRef:
name: rabbitmq-auth
പശ്ചാത്തല തൊഴിലാളികൾക്ക്, സിപിയു അടിസ്ഥാനമാക്കിയുള്ള എച്ച്പിഎയേക്കാൾ മികച്ചതാണ് കെഡിഎ. സിപിയു പറയുന്നു തൊഴിലാളികൾ എത്ര തിരക്കിലാണ് എന്ന്. വരി ദൈർഘ്യം എത്ര ജോലി കാത്തിരിക്കുന്നു എന്ന് പറയുന്നു.
ജോലി ചെയ്യുന്നതിന്റെ സൈഡ് എഫക്ട് അല്ല, അത് പ്രതിനിധീകരിക്കുന്ന സിഗ്നലിനെ സ്കെയിൽ ചെയ്യുക.
നോഡുകൾക്ക് രണ്ട് പ്രധാന ഓപ്ഷനുകളുണ്ട്.
ക്ലസ്റ്റർ ഓട്ടോസ്കേലർ ക്ലാസിക് ആണ്. ഇത് നിങ്ങൾ മുൻകൂട്ടി നിർവചിക്കുന്ന നോഡ് ഗ്രൂപ്പുകളുമായി പ്രവർത്തിക്കുന്നു. പാഡുകൾ കാത്തിരിക്കുമ്പോൾ, അത് ഒരു മാച്ചിംഗ് ഗ്രൂപ്പിലേക്ക് ഒരു നോഡ് ചേർക്കുന്നു. നോഡുകൾ ഉപയോഗിക്കാതെ പോകുമ്പോൾ, അത് അവയെ നീക്കം ചെയ്യുന്നു. വിശ്വസനീയവും, മിക്കവാറും എല്ലായിടത്തും പിന്തുണയ്ക്കുന്നതുമാണ്.
മരംപണിക്കാരൻ AWS ൽ ആരംഭിച്ചതും ഇപ്പോൾ ഒരു Kubernetes SIG പ്രോജക്ട് ആണ്, AWS, Azure എന്നിവയ്ക്കുള്ള പിന്തുണയോടെ. നിശ്ചിത നോഡ് ഗ്രൂപ്പുകൾക്ക് പകരം, കാത്തിരിക്കുന്ന പാഡുകൾ നോക്കുകയും അവയ്ക്കായി മികച്ച ഇൻസ്റ്റൻസിംഗ് തരം തിരഞ്ഞെടുക്കുകയും ചെയ്യുന്നു. അത് വേഗതയേറിയതും പലപ്പോഴും വിലകുറഞ്ഞതും നല്ലതുമാണ് ഏകീകരണം: കുറച്ചുകൂടി ഉപയോഗിക്കാത്ത നോഡുകൾ നീക്കം ചെയ്യാനോ വിലകുറഞ്ഞവ ഉപയോഗിച്ച് മാറ്റി സ്ഥാപിക്കാനോ സാധിക്കും. സ്പോട്ട് കേസുകളും നല്ല രീതിയിൽ കൈകാര്യം ചെയ്യുന്നു.
ആഡംബര വകുപ്പിൽ, ഞാനിന്ന് കർപന്ററെ തെരഞ്ഞെടുക്കും. മറ്റെവിടെയെങ്കിലും, നിങ്ങളുടെ ദാതാവ് ഏറ്റവും നന്നായി പിന്തുണയ്ക്കുന്നവ ഉപയോഗിക്കുക, പലപ്പോഴും അവരുടെ നിയന്ത്രിത ഓട്ടോസ്കേലർ.
ഓട്ടോ സ്കേലിംഗ് ഓസിസിലേറ്റ് ചെയ്യാം: സ്കെയിൽ മുകളിലേക്കും താഴേക്കും വീണ്ടും സ്കെയിലിലേക്ക്. അത് ശാന്തമാക്കുന്ന വഴികൾ:
behavior പ്രത്യേകിച്ച് സ്കെയിൽ ഡൌൺ ചെയ്യുന്നതിനായി (അഞ്ച് മിനിറ്റ് സാധാരണ ആരംഭമാണ്).ഒരു സാധാരണ ക്ലസ്റ്ററിന് വേണ്ടി എനിക്കിഷ്ടപ്പെട്ട ഒരു ക്രമീകരണം:
എന്റെ അഭിപ്രായം: ഓട്ടോ സ്കെയിലിംഗ് ഒരു ടീം സ്പോർട്സ് ആണ്. ആദ്യം ശരിയായ അഭ്യർത്ഥനകൾ ചെയ്യുക, ഓരോ വർക്ക് ലോഡിനും ശരിയായ സിഗ്നൽ തിരഞ്ഞെടുക്കുക, ബാക്കി നോഡ് ഓട്ടോ സ്കെയിലർ കൈകാര്യം ചെയ്യട്ടെ.
ഡെസ്ലി