Este tópico descreve os eventos do Container Service for Kubernetes (ACK) publicáveis no EventBridge.
Observações de uso
Os eventos do ACK originam-se das duas fontes a seguir:
-
Application Real-Time Monitoring Service (ARMS)
Instale o componente ARMS Prometheus nos clusters Kubernetes. Para mais informações, consulte Ative o monitoramento do Prometheus.
Esses eventos são do tipo cs:k8s:K8s-event-via-arms e não possuem classificação em tipos específicos.
-
Node Problem Detector (NPD)
Instale o componente ack-node-problem-detector nos clusters Kubernetes e configure o EventBridge como sink. Para mais informações, consulte Instale o componente NPD.
A classificação desses eventos ocorre por tipo de recurso. Por exemplo, eventos do tipo cs:k8s:PodRelatedEvent referem-se a pods.
Eventos
A tabela a seguir descreve os eventos do ACK publicáveis no EventBridge.
|
Evento |
Valor do parâmetro type |
|
Evento do ACK relacionado a um ConfigMap |
cs:k8s:ConfigMapRelatedEvent |
|
Evento do ACK relacionado a um trabalho CRON |
cs:k8s:CronJobRelatedEvent |
|
Evento do ACK relacionado a um DaemonSet |
cs:k8s:DaemonSetRelatedEvent |
|
Evento do ACK relacionado a um Deployment |
cs:k8s:DeploymentRelatedEvent |
|
Evento do ACK relacionado a um Ingress |
cs:k8s:IngressRelatedEvent |
|
Evento do ACK relacionado a um job |
cs:k8s:JobRelatedEvent |
|
cs:k8s:k8s-event-via-arms |
|
|
Evento do ACK relacionado a um namespace |
cs:k8s:NamespaceRelatedEvent |
|
Evento do ACK relacionado a um nó |
cs:k8s:NodeRelatedEvent |
|
Evento do ACK relacionado a uma persistent volume claim (PVC) |
cs:k8s:PersistentVolumeClaimRelatedEvent |
|
Evento do ACK relacionado a um persistent volume (PV) |
cs:k8s:PersistentVolumeRelatedEvent |
|
cs:k8s:PodRelatedEvent |
|
|
Evento do ACK relacionado a um ReplicaSet |
cs:k8s:ReplicaSetRelatedEvent |
|
Evento do ACK relacionado a um ReplicationController |
cs:k8s:ReplicationControllerRelatedEvent |
|
Evento do ACK relacionado a um StatefulSet |
cs:k8s:StatefulSetRelatedEvent |
|
Operação executada em um recurso |
cs:ActionTrail:AliyunServiceEvent |
|
Chamada de operação de API |
cs:ActionTrail:ApiCall |
|
Operação realizada no console |
cs:ActionTrail:ConsoleOperation |
|
Notificações sobre entrega de logs de alteração de recursos |
cs:Config:ConfigurationItemChangeNotification |
|
Notificações sobre avaliação de recurso como não compatível |
cs:Config:NonCompliantNotification |
Para obter mais detalhes sobre os parâmetros definidos na especificação CloudEvents, consulte Visualize a visão geral dos eventos.
A tabela anterior lista apenas os eventos frequentes do ACK. Utilize uma regra personalizada para corresponder aos eventos não descritos nela. Também é possível filtrar e visualizar todos os eventos.
Os tipos de eventos do ACK seguem o formato de nomenclatura cs:k8s:{Nome do tipo de recurso}RelatedEvent. Por exemplo, para eventos do ACK relacionados a pods, o valor do parâmetro type é cs:k8s:PodRelatedEvent.
Eventos do ACK coletados pelo ARMS
O código de exemplo a seguir mostra um evento do ACK coletado pelo ARMS e recebido pelo EventBridge:
{
"id":"4cf9678d-dfec-4d6e-9fd1-a9a2d205****",
"source":"acs.cs",
"time":"2020-11-19T21:04:41+08:00",
"data":{
"reason":"FailedCreatePodSandBox",
"involvedObject":{
"uid":"e0a7e4b6-5331-487f-bb0a-e69647a9****",
"apiVersion":"v1",
"kind":"Pod",
"resourceVersion":"40326010",
"namespace":"kube-system",
"name":"alicloud-application-controller-798784bf49-v88hc"
},
"count":1,
"source":{
"component":"kubelet",
"host":"cn-hangzhou.192.168.XX.XX"
},
"message":"Failed to create pod sandbox",
"type":"Warning",
"firstTimestamp":"2020-11-19T21:04:41Z",
"lastTimestamp":"2020-11-19T21:04:41Z"
},
"specversion":"1.0",
"datacontenttype":"application/json",
"type":"cs:k8s:K8s-event-via-arms",
"aliyunaccountid":"123456789098****",
"aliyuneventbusname":"default",
"aliyunpublishtime":"2020-11-19T21:04:42Z",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A tabela abaixo detalha os parâmetros do campo data.
Parâmetro | Tipo | Exemplo | Descrição |
reason | String | FailedCreatePodSandBox | Motivo do reporte do evento do ACK. |
involvedObject | Struct | Objeto envolvido no evento. | |
uid | String | e0a7e4b6-5331-487f-bb0a-e69647a9**** | ID exclusivo do recurso. |
apiVersion | String | v1 | Número da versão da API. |
kind | String | Pod | Tipo do recurso. |
resourceVersion | String | 40326010 | Número da versão do recurso. |
namespace | String | kube-system | Namespace onde o recurso reside. |
name | String | alicloud-application-controller-798784bf49-v88hc | Nome do recurso. |
count | Integer | 1 | Número total de ocorrências do evento. |
source | Struct | Recurso que detecta o evento. | |
component | String | kubelet | Tipo da fonte de evento especificado pelo parâmetro source. |
host | String | cn-hangzhou.192.168.XX.XX | ID exclusivo da fonte de evento especificado pelo parâmetro source. |
message | String | Failed to create pod sandbox | Descrição do evento. |
type | String | Warning | Gravidade do evento. Valores válidos:
|
firstTimestamp | Timestamp | 2020-11-19T21:04:41Z | Horário da primeira ocorrência do evento. |
lastTimestamp | Timestamp | 2020-11-19T21:04:41Z | Horário da última ocorrência do evento. |
Evento do ACK relacionado a um pod
O exemplo de código abaixo ilustra um evento do ACK associado a um pod e recebido pelo EventBridge:
{
"datacontenttype":"application/json",
"aliyunaccountid":"123456789098****",
"data":{
"reason":"BackOff",
"metadata":{
"uid":"0a2d6413-ea4a-414b-a813-aa9b6a17****",
"resourceVersion":"1163710",
"creationTimestamp":"2021-01-08T07:11:52Z",
"name":"oom-test",
"namespace":"default"
},
"involvedObject":{
"uid":"3438fea9-1e54-4f71-aec5-6e874136****",
"apiVersion":"v1",
"kind":"Pod",
"resourceVersion":"425592514",
"name":"oom-test-85b",
"namespace":"default"
},
"reportingInstance":"",
"count":197,
"source":{
"component":"kubelet",
"host":"cn-hangzhou.172.16.XX.XX"
},
"message":"Back-off restarting failed container",
"type":"Warning",
"reportingComponent":"",
"firstTimestamp":"2021-01-08T07:11:52Z",
"lastTimestamp":"2021-01-08T07:56:41Z"
},
"subject":"acs:cs:cn-hangzhou:123456789098****:abc/apis/v1/namespaces/default/pods/oom-test-85b",
"source":"acs.cs",
"type":"cs:k8s:PodRelatedEvent",
"aliyunpublishtime":"2021-01-18T09:43:58.785Z",
"specversion":"1.0",
"aliyuneventbusname":"default",
"id":"af182bae-16b8-4327-bb3a-a972de72****",
"time":"2021-01-08T15:57:00+08:00",
"aliyunregionid":"cn-hangzhou",
"aliyunpublishaddr":"172.25.XX.XX"
}
A tabela seguinte apresenta os parâmetros contidos no campo data.
Parâmetro | Tipo | Exemplo | Descrição |
reason | String | BackOff | Causa da ocorrência do evento do ACK relacionado ao pod. |
metadata | Struct | Metadados do evento. | |
uid | String | 0a2d6413-ea4a-414b-a813-aa9b6a17**** | ID exclusivo do evento no cluster Kubernetes. |
resourceVersion | Integer | 1163710 | Número da versão do evento. Este número incrementa sequencialmente a cada modificação do evento. |
creationTimestamp | Timestamp | 2021-01-08T07:11:52Z | Timestamp da criação inicial do evento. |
name | String | oom-test | Nome do evento. |
namespace | String | default | Namespace ao qual o evento pertence. |
involvedObject | Struct | Objeto envolvido no evento. | |
uid | String | 3438fea9-1e54-4f71-aec5-6e874136**** | ID exclusivo do recurso. |
apiVersion | String | v1 | Número da versão da API. |
kind | String | Pod | Tipo do recurso. |
resourceVersion | String | 40326010 | Número da versão do recurso. |
namespace | String | default | Namespace onde o recurso reside. |
name | String | oom-test-85b6c9494b-hpllq | Nome do recurso. |
reportingInstance | String | N/A | Instância que iniciou o evento. |
count | Integer | 197 | Número total de ocorrências do evento. |
source | Struct | Recurso que detecta o evento. | |
component | String | kubelet | Tipo da fonte de evento especificado pelo parâmetro source. |
host | String | cn-hangzhou.172.16.XX.XX | ID exclusivo da fonte de evento especificado pelo parâmetro source. |
message | String | Back-off restarting failed container | Descrição do evento. |
type | String | Warning | Gravidade do evento. Valores válidos:
|
reportingComponent | String | N/A | Componente que iniciou o evento. |
firstTimestamp | Timestamp | 2021-01-08T07:11:52Z | Horário da primeira ocorrência do evento. |
lastTimestamp | Timestamp | 2021-01-08T07:56:41Z | Horário da última ocorrência do evento. |
Instale o componente NPD
Faça login no console do ACK.
No painel de navegação à esquerda, escolha .
Na página Marketplace, clique em na aba App Catalog. Na caixa de pesquisa, insira ack-node-problem-detector e clique em no ícone
. Clique em no cartão ack-node-problem-detector. Na página de detalhes do componente, clique em Deploy.
-
No painel Deploy, configure os parâmetros e clique em OK.
Na etapa Basic Information, selecione um cluster e um namespace e, em seguida, clique em Next.
Na etapa Parameters, altere o valor de enabled para true em eventbridge, dentro do parâmetro Sink no editor de código.