Este tema describe los eventos de Container Service for Kubernetes (ACK) que se pueden publicar en EventBridge.
Notas de uso
Los eventos de ACK provienen de las siguientes dos fuentes de eventos:
-
Application Real-Time Monitoring Service (ARMS)
Debe instalar el componente ARMS Prometheus en los clústeres de Kubernetes. Para obtener más información, consulte Enable Prometheus monitoring.
Estos eventos son del tipo cs:k8s:K8s-event-via-arms y no se clasifican en tipos específicos.
-
Node Problem Detector (NPD)
Debe instalar el componente ack-node-problem-detector en los clústeres de Kubernetes y configurar EventBridge como sink. Para obtener más información, consulte Install the NPD component.
Estos eventos se clasifican por tipo de recurso. Por ejemplo, los eventos del tipo cs:k8s:PodRelatedEvent están relacionados con pods.
Eventos
La siguiente tabla describe los eventos de ACK que se pueden publicar en EventBridge.
|
Evento |
Valor del parámetro type |
|
Evento de ACK relacionado con un ConfigMap |
cs:k8s:ConfigMapRelatedEvent |
|
Evento de ACK relacionado con un trabajo CRON |
cs:k8s:CronJobRelatedEvent |
|
Evento de ACK relacionado con un DaemonSet |
cs:k8s:DaemonSetRelatedEvent |
|
Evento de ACK relacionado con un Deployment |
cs:k8s:DeploymentRelatedEvent |
|
Evento de ACK relacionado con un Ingress |
cs:k8s:IngressRelatedEvent |
|
Evento de ACK relacionado con un trabajo |
cs:k8s:JobRelatedEvent |
|
cs:k8s:k8s-event-via-arms |
|
|
Evento de ACK relacionado con un namespace |
cs:k8s:NamespaceRelatedEvent |
|
Evento de ACK relacionado con un nodo |
cs:k8s:NodeRelatedEvent |
|
Evento de ACK relacionado con una solicitud de volumen persistente (PVC) |
cs:k8s:PersistentVolumeClaimRelatedEvent |
|
Evento de ACK relacionado con un volumen persistente (PV) |
cs:k8s:PersistentVolumeRelatedEvent |
|
cs:k8s:PodRelatedEvent |
|
|
Evento de ACK relacionado con un ReplicaSet |
cs:k8s:ReplicaSetRelatedEvent |
|
Evento de ACK relacionado con un ReplicationController |
cs:k8s:ReplicationControllerRelatedEvent |
|
Evento de ACK relacionado con un StatefulSet |
cs:k8s:StatefulSetRelatedEvent |
|
Se realiza una operación en un recurso |
cs:ActionTrail:AliyunServiceEvent |
|
Se llama a una operación de API |
cs:ActionTrail:ApiCall |
|
Se realiza una operación en la consola |
cs:ActionTrail:ConsoleOperation |
|
Notificaciones que indican la entrega de registros de cambios de recursos |
cs:Config:ConfigurationItemChangeNotification |
|
Notificaciones que indican que un recurso se evaluó como no compatible |
cs:Config:NonCompliantNotification |
Para obtener más información sobre los parámetros definidos en la especificación CloudEvents, consulte Event overview.
La tabla anterior solo describe los eventos frecuentes de ACK. Puede usar una regla personalizada para coincidir con los eventos que no se describen en dicha tabla. También puede filtrar y consultar todos los eventos.
Los tipos de eventos de ACK siguen el formato de nombre cs:k8s:{Nombre del tipo de recurso}RelatedEvent. Por ejemplo, para los eventos de ACK relacionados con pods, el valor del parámetro type es cs:k8s:PodRelatedEvent.
Eventos de ACK recopilados por ARMS
El siguiente código de ejemplo muestra un evento de ACK recopilado por ARMS y recibido por 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"
}
La siguiente tabla describe los parámetros en el campo data.
Parámetro | Tipo | Ejemplo | Descripción |
reason | String | FailedCreatePodSandBox | Motivo por el cual se reportó el evento de ACK. |
involvedObject | Struct | Objeto involucrado en el evento. | |
uid | String | e0a7e4b6-5331-487f-bb0a-e69647a9**** | ID único del recurso. |
apiVersion | String | v1 | Número de versión de la API. |
kind | String | Pod | Tipo de recurso. |
resourceVersion | String | 40326010 | Número de versión del recurso. |
namespace | String | kube-system | Namespace donde reside el recurso. |
name | String | alicloud-application-controller-798784bf49-v88hc | Nombre del recurso. |
count | Integer | 1 | Número total de ocurrencias del evento. |
source | Struct | Recurso que detecta el evento. | |
component | String | kubelet | Tipo de fuente del evento especificado por el parámetro source. |
host | String | cn-hangzhou.192.168.XX.XX | ID único de la fuente del evento especificado por el parámetro source. |
message | String | Failed to create pod sandbox | Descripción del evento. |
type | String | Warning | Gravedad del evento. Valores válidos:
|
firstTimestamp | Timestamp | 2020-11-19T21:04:41Z | Hora de la primera ocurrencia del evento. |
lastTimestamp | Timestamp | 2020-11-19T21:04:41Z | Hora de la última ocurrencia del evento. |
Evento de ACK relacionado con un pod
El siguiente código de ejemplo muestra un evento de ACK relacionado con un pod y recibido por 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"
}
La siguiente tabla describe los parámetros en el campo data.
Parámetro | Tipo | Ejemplo | Descripción |
reason | String | BackOff | Motivo por el cual ocurrió el evento de ACK relacionado con un pod. |
metadata | Struct | Metadatos del evento. | |
uid | String | 0a2d6413-ea4a-414b-a813-aa9b6a17**** | ID único del evento en el clúster de Kubernetes. |
resourceVersion | Integer | 1163710 | Número de versión del evento. Este número aumenta secuencialmente cada vez que se modifica el evento. |
creationTimestamp | Timestamp | 2021-01-08T07:11:52Z | Marca de tiempo de la primera creación del evento. |
name | String | oom-test | Nombre del evento. |
namespace | String | default | Namespace al que pertenece el evento. |
involvedObject | Struct | Objeto involucrado en el evento. | |
uid | String | 3438fea9-1e54-4f71-aec5-6e874136**** | ID único del recurso. |
apiVersion | String | v1 | Número de versión de la API. |
kind | String | Pod | Tipo de recurso. |
resourceVersion | String | 40326010 | Número de versión del recurso. |
namespace | String | default | Namespace donde reside el recurso. |
name | String | oom-test-85b6c9494b-hpllq | Nombre del recurso. |
reportingInstance | String | N/A | Instancia que inició el evento. |
count | Integer | 197 | Número total de ocurrencias del evento. |
source | Struct | Recurso que detecta el evento. | |
component | String | kubelet | Tipo de fuente del evento especificado por el parámetro source. |
host | String | cn-hangzhou.172.16.XX.XX | ID único de la fuente del evento especificado por el parámetro source. |
message | String | Back-off restarting failed container | Descripción del evento. |
type | String | Warning | Gravedad del evento. Valores válidos:
|
reportingComponent | String | N/A | Componente que inició el evento. |
firstTimestamp | Timestamp | 2021-01-08T07:11:52Z | Hora de la primera ocurrencia del evento. |
lastTimestamp | Timestamp | 2021-01-08T07:56:41Z | Hora de la última ocurrencia del evento. |
Instalación del componente NPD
Inicie sesión en la consola de ACK.
En el panel de navegación izquierdo, seleccione .
En la página Marketplace, haga clic en la pestaña App Catalog. En el cuadro de búsqueda, introduzca ack-node-problem-detector y haga clic en el icono
. Haga clic en la tarjeta ack-node-problem-detector. En la página de detalles del componente, haga clic en Deploy.
-
En el panel Deploy, configure los parámetros y haga clic en OK.
En el paso Basic Information, seleccione un clúster y un namespace, y luego haga clic en Next.
En el paso Parameters, cambie el valor de enabled a true para eventbridge en el parámetro Sink dentro del editor de código.