Hva er nytt

Oversikt over endringer som ble introdusert i v2 av deployment.

På denne siden:

2.1.0

Aktivering av liveness og/elelr readiness probe krever at applikasjonen din kjører versjon 4.30.0 eller høyere av Altinn.App.* nugetpakkene.

Endringer innført

  • Default CPU og minne tilgjengeliggjort per pod er redusert til henholdsvis 50m og 128Mi.
  • Konfigurerbar liveness og readiness probes er tilgjengelig. Default er at dette er disablet.

Nye valgfrie felter med standard verdier tilgjengelig for overstyring i values.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
deployment:
  readiness:
    enabled: false
    path: /health
    initialDelaySeconds: 30
    failureThreshold: 3
    periodSeconds: 3
    timeoutSeconds: 1
  liveness:
    enabled: false
    path: /health
    initialDelaySeconds: 3
    failureThreshold: 3
    periodSeconds: 10

Gjennomgang:

3. Aktiver eller deaktiver readinessprobe for denne applikasjonen.

4. Pathen til readiness-endepunktet i applikasjonen.

5. Hvor mange sekunder man venter før readinessproben begynner etter at containeren har startet.

6. Minimum antall påfølgende feil før readinessproben ansees som feilet.

7. Frekvens for readinessprobing

8. Hvor mange sekunder før readinessproben timer ut

10. Aktiver eller deaktiver livenessprobe for denne applikasjonen.

11. Pathen til liveness-endepunktet i applikasjonen.

12. Hvor mange sekunder man venter før livenessproben begynner etter at containeren har startet.

13. Minimum antall påfølgende feil før livenessproben ansees som feilet.

13. Frekvens for livenessprobing

14. Hvor mange sekunder før livenessproben timer ut

2.0.0

Oppgradering til 2.0.0 fra 1.x.x vil føre til en kort nedetid ved første deploy. Påfølgende deployments vil gå som normalt

Hvis din apps deployment mappe fortsatt har undermappen templates vennligst følg migrerings guiden

Changes introduced

  • Deployment objektet får nytt navn -v2 dette på grunn av nødvendig endring på selector som ikke kan endre på et objekt. ADVARSEL fører til nedetid ved førstegangs deploy
  • Alle applikasjoner får satt resource requests
  • Horizontal pod autoscaler er påskrudd som default (automatisk skalering av applikasjon)
  • Labels and selectors oppdaterte for de fleste kubernetes objekter
  • Standard initial skalering er endret fra 1 til 2

Nye valgfrie felter med standard verdier tilgjengelig for overstyring i values.yaml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
deployment:
  autoscaling:
    enabled: true
    replicas:
      min: 2
      max: 10
    avgCpuUtilization: 70
    behavior:
      stabilizationWindowSeconds:
        scaleUp: 0
        scaleDown: 120
  resources:
    requests:
      cpu: 300m
      memory: 256Mi

Gjennomgang

3. Aktiver eller deaktiver autoskalering for denne applikasjonen.

5. Nedre grense for antall pods som kan settes av autoskaleringen.

6. Øvre grense for antall pods som kan settes av autoskaleringen.

7. Grensen for gjennomsnittlig CPU utnyttelse (målt i prosent av request CPU) over alle pods for når skalering skal inntreffe.

9. Stabiliseringsvinduet brukes for å begrense unødvendige endringer i antall replikaer av applikasjonen.

10. Antall sekunder gjennomsnittlig CPU forbruk over alle pods er over terskelverdi (cpuAvgCpuUtilization) før oppskalering starter.

11. Antall sekunder gjennomsnittlig CPU forbruk over alle pods er under terskelverdi (cpuAvgCpuUtilization) før nedskalering starter.

14. CPU millicores reservert av kubelet for hver pod/replica av denne applikasjonen. Benyttet av HPA for å kalkulere skalering. Pods kan bruke mer CPU enn dette hvis det er tilgjengelig.

15. Minne reservert av kubelet for hver pod/replica av denne applikasjonen. Pods kan bruke mer minne enn dette hvis det er tilgjengelig.

Nye valgfrie felter uten standard verdier tilgjengelig for overstyring i values.yaml

1
2
3
4
5
deployment:
  resources:
    limits:
      cpu: 1000m
      memoty: 512Mi

Gjennomgang

4. Øvre grense for CPU millicores en pod kan benytte. Forsøk på bruk utover dette vil føre til CPU throttling.

5. Øvre grense for minne en pod kan benytte. Pods som forsøker å allokere mer minne en dette vil termineres med en “Out of memory (OOM)” error.

Pull requests merged