Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leest u hoe u Kubernetes-gebeurtenissen gebruikt om problemen in uw AKS-clusters (Azure Kubernetes Service) te bewaken en op te lossen.
Wat zijn Kubernetes-gebeurtenissen?
Gebeurtenissen zijn een van de meest prominente bronnen voor het bewaken en oplossen van problemen in Kubernetes. Ze leggen informatie vast over de levenscyclus van verschillende Kubernetes-objecten, zoals pods, knooppunten, services en implementaties. Door gebeurtenissen te bewaken, kunt u inzicht krijgen in de activiteiten van uw cluster, problemen identificeren en problemen effectief oplossen.
Kubernetes-gebeurtenissen blijven niet behouden gedurende de levenscyclus van uw cluster, omdat er geen bewaarmechanisme is. Gebeurtenissen zijn slechts één uur beschikbaar nadat de gebeurtenis is gegenereerd. Als u gebeurtenissen gedurende een langere periode wilt opslaan, schakelt u Container Insights in.
Kubernetes-gebeurtenisobjecten
De volgende tabel bevat enkele belangrijke Kubernetes-gebeurtenisobjecten:
Veldnaam | Beschrijving |
---|---|
type | Het type is gebaseerd op de ernst van de gebeurtenis: Waarschuwingen geven mogelijk problematische situaties aan, zoals een pod die herhaaldelijk mislukt of een knooppunt dat onvoldoende resources heeft. Ze vragen aandacht, maar leiden mogelijk niet tot onmiddellijke mislukking. Normale gebeurtenissen vertegenwoordigen routinehandelingen, zoals een pod die gepland wordt of een implementatie opschalen. Ze geven meestal aan dat het cluster gezond functioneert. |
reden | De reden waarom de gebeurtenis is gegenereerd. Bijvoorbeeld FailedScheduling of CrashLoopBackoff. |
message | Een door mensen leesbaar bericht dat de gebeurtenis beschrijft. |
namespace | De naamruimte van het Kubernetes-object waaraan de gebeurtenis is gekoppeld. |
firstSeen | Tijdstempel toen de gebeurtenis voor het eerst werd waargenomen. |
lastSeen | Tijdstempel van het moment waarop de gebeurtenis voor het laatst is waargenomen. |
rapportageController | De naam van de controller die de gebeurtenis heeft gerapporteerd. Bijvoorbeeld: kubernetes.io/kubelet . |
object | De naam van het Kubernetes-object waaraan de gebeurtenis is gekoppeld. |
Zie de officiële Kubernetes-documentatie voor meer informatie.
Kubernetes-gebeurtenissen weergeven
Geef alle gebeurtenissen in uw cluster weer met behulp van de kubectl get events
opdracht.
Ervan uitgaande dat uw cluster al is gemaakt en beschikbaar is (vereisten per document), haalt u referenties op (let op: de --overwrite-existing
vlag is ingesteld om kubeconfig-fouten te voorkomen):
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER --overwrite-existing
Vermeld nu alle gebeurtenissen in uw cluster:
kubectl get events
Resultaten:
LAST SEEN TYPE REASON OBJECT MESSAGE
xxm Normal Scheduled pod/my-pod-xxxxx Successfully assigned default/my-pod-xxxxx to aks-nodepoolxx-xxxxxxx-vmss000000
xxm Normal Pulled pod/my-pod-xxxxx Container image "nginx" already present on machine
xxm Normal Created pod/my-pod-xxxxx Created container nginx
xxm Normal Started pod/my-pod-xxxxx Started container nginx
...
Bekijk de gebeurtenissen van een specifieke pod door eerst de naam van de pod te vinden en vervolgens de kubectl describe pod
opdracht te gebruiken.
Toon de pods in de huidige namespace:
kubectl get pods
Resultaten:
NAME READY STATUS RESTARTS AGE
my-pod-xxxxx 1/1 Running 0 xxm
nginx-deployment-xxxxx 1/1 Running 0 xxm
...
Vervang <pod-name>
hieronder door de werkelijke podnaam. Voor automatisering ziet u hier een voorbeeld voor de eerste pod in de lijst:
POD_NAME=$(kubectl get pods -o jsonpath="{.items[0].metadata.name}")
kubectl describe pod $POD_NAME
Voor het oplossen van problemen met gebeurtenissen: beste werkwijzen
Gebeurtenissen filteren op relevantie
Mogelijk hebt u verschillende naamruimten en services die worden uitgevoerd in uw AKS-cluster. Door gebeurtenissen te filteren op basis van objecttype, naamruimte of reden, kunnen de resultaten worden beperkt tot de meest relevante informatie.
U kunt bijvoorbeeld de volgende opdracht gebruiken om gebeurtenissen in de standaardnaamruimte te filteren:
kubectl get events --namespace default
Gebeurtenismeldingen automatiseren
Stel geautomatiseerde meldingen in om ervoor te zorgen dat kritieke gebeurtenissen in uw AKS-cluster tijdig worden gereageerd. Azure biedt integratie met bewakings- en waarschuwingsservices zoals Azure Monitor. U kunt waarschuwingen configureren om te activeren op basis van specifieke gebeurtenispatronen. Op deze manier bent u onmiddellijk op de hoogte van cruciale problemen die aandacht vereisen.
Regelmatig gebeurtenissen controleren
Zorg ervoor dat u regelmatig gebeurtenissen in uw AKS-cluster bekijkt. Deze proactieve benadering kan u helpen trends te identificeren, potentiële problemen vroeg te ondervangen en escalaties te voorkomen. Door op de hoogte te blijven van gebeurtenissen, kunt u de stabiliteit en prestaties van uw toepassingen behouden.
Volgende stappen
Nu u Inzicht hebt in Kubernetes-gebeurtenissen, kunt u doorgaan met uw bewakings- en waarneembaarheidstraject door Container Insights in te schakelen.
Azure Kubernetes Service