,kubernetes,kubernetes-pod,azure-aks"/>

首页 > 解决方案 > Kubernetes pod 事件显示为“"

问题描述

我们正在调查与 Azure Kubernetes 服务上的 pod 启动缓慢有关的问题。一旦 Pod 启动完成,我们就无法看到历史事件。最新的事件日志显示为<none>

这是一个例子:

sshuser@sandbox-ubuntu-vm:~$ kubectl get pods
NAME                                            READY   STATUS      RESTARTS   AGE
my-service-58bb6868c-rfrgr               1/1     Running     0          4h51m
sshuser@sandbox-ubuntu-vm:~$ kubectl describe pod my-service-58bb6868c-rfrgr
Name:           my-service-58bb6868c-rfrgr
Namespace:      default
Priority:       0
Node:           aks-myproject-41067869-1/10.0.1.163
Start Time:     Thu, 20 Feb 2020 05:25:36 -0500
Labels:         app.kubernetes.io/instance=my-service
                app.kubernetes.io/name=my-service
                pod-template-hash=58bb6868c
Annotations:    <none>
Status:         Running
IP:             10.0.1.183
IPs:            <none>
Controlled By:  ReplicaSet/my-service-58bb6868c
Containers:
  my-service:
    Container ID:   docker://b366fc6459f7dc03287d62da81c9fb1ed2c30ec0ccb4b601d2eea62e644de9f9
    Image:          myacr.azurecr.io/myproject/microservices/my-service:0.0.48
    Image ID:       docker-pullable://myacr.azurecr.io/myproject/microservices/my-service@sha256:cca04f3499271ac5ae383ddccba8c3f716b8f95cd0c06042ef4d7f69626beb8d
    Port:           3000/TCP
    Host Port:      0/TCP
    State:          Running
      Started:      Thu, 20 Feb 2020 05:32:38 -0500
    Ready:          True
    Restart Count:  0
    Liveness:       http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Readiness:      http-get http://:http/ delay=0s timeout=1s period=10s #success=1 #failure=3
    Environment:
      PORT:                          3000
    Mounts:
      /kvmnt from my-service-kv-volume (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from my-service-token-lbfjg (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  my-service-kv-volume:
    Type:       FlexVolume (a generic volume resource that is provisioned/attached using an exec based plugin)
    Driver:     azure/kv
    FSType:
    SecretRef:  &LocalObjectReference{Name:kvcreds,}
    ReadOnly:   false
    Options:    map[REMOVED]
  my-service-token-lbfjg:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  my-service-token-lbfjg
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:          <none>
sshuser@sandbox-ubuntu-vm:~$ kubectl get events --all-namespaces
No resources found
sshuser@sandbox-ubuntu-vm:~$

是否定期清除事件日志?当 pod 状态为 时,我们可以看到事件,但是在 pod 进入某个状态ContainerCreating后不久(未知多长时间),事件就看不到了。Running

Kubernetes 版本是 1.14.8。

任何帮助是极大的赞赏。

谢谢。

标签: kuberneteskubernetes-podazure-aks

解决方案


Kubernetes 在kube-apiserver 中将事件的默认保留时间配置为 1 小时。

您可以通过设置kube-apiserver--event-ttl的标志持续时间来配置事件的 ttl 。

在 Kube-apiserver 文档中查找更多信息


推荐阅读