Basis van cloud en containers

readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  periodSeconds: 5

Een webapplicatie kan na het starten ongeveer 60 seconden lang, terwijl ze haar cache laadt, geen aanvragen verwerken en geeft in die tijd 503 terug op /ready. Welke beschrijving van het effect van het toevoegen van de bovenstaande instellingen aan de container van de Pod is juist?

  1. AZolang /ready faalt, wordt de Pod uit de doelen van de Service gehaald en ontvangt hij geen aanvragen, en de container wordt niet herstart
  2. BDe container wordt herstart telkens wanneer /ready faalt; hij blijft dus herstarten voordat de cache klaar is met laden
  3. CTot /ready slaagt, wordt de Pod aan geen enkele node toegewezen, en de container wordt niet gestart
Antwoord en toelichting tonen

Antwoord: A. Zolang /ready faalt, wordt de Pod uit de doelen van de Service gehaald en ontvangt hij geen aanvragen, en de container wordt niet herstart

Een readiness-probe controleert of een container klaar is om aanvragen aan te nemen en haalt de Pod uit de doelen van de Service zolang de controle faalt. Een HTTP-probe beschouwt een antwoord van minstens 200 en lager dan 400 als geslaagd; zolang 503 wordt teruggegeven, worden er dus geen aanvragen naartoe gestuurd, en zodra de applicatie gereed is, komen ze binnen. Het herstarten van de container bij een mislukte controle is de taak van een liveness-probe; een applicatie die traag opstart alleen een liveness-probe met een kort interval geven, kan tot herhaalde herstarts leiden. Op welke node een Pod draait, beslist de scheduler, niet de probes.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van cloud en containers

  1. Bij een webapplicatie op Kubernetes is de controle van de liveness-probe zo gemaakt dat ze ook nagaat of de applicatie verbinding kan maken met de database waarvan ze afhangt. Welk probleem is met deze instelling het meest waarschijnlijk?
  2. Een Kubernetes-HorizontalPodAutoscaler heeft een doel voor het CPU-gebruik van de Pods van 70% en een bereik van 1 tot 10 Pods. Op dit moment is het gemiddelde CPU-gebruik van 5 Pods 30%. Als het benodigde aantal Pods wordt berekend als ⌈huidig aantal × huidig gebruik ÷ doelgebruik⌉ (⌈ ⌉ betekent naar boven afronden), hoeveel Pods zijn er dan nodig?
  3. In een Deployment waarvan de containers van de Pods de bovenstaande instellingen hebben, draaien vier Pods die elk 400m (0,4 cores) CPU gebruiken. Het doel voor het CPU-gebruik van de HorizontalPodAutoscaler is 60%, en het benodigde aantal Pods wordt berekend als ⌈huidig aantal × huidig gebruik ÷ doelgebruik⌉. Hoeveel Pods zijn er nodig?
  4. Welke beschrijving van de requests en limits voor resources die in Kubernetes voor een container worden ingesteld, is juist?
  5. Een node heeft als toewijsbare resources 4 CPU-cores en 8 GiB geheugen. Voor de container van elke Pod zijn als requests 500m CPU en 1,5 GiB geheugen en als limits 1 CPU-core en 2 GiB geheugen ingesteld. Er zijn geen andere Pods en geen reserveringen voor het systeem. Hoeveel Pods kunnen er maximaal op deze node worden geplaatst?