除了Kubernetes中的pod,我还可以从其他资源获取事件吗?

除了Kubernetes中的pod,我还可以从其他资源获取事件吗?,kubernetes,kubectl,Kubernetes,Kubectl,对Pod以外的资源(部署、复制集…)运行此命令时 $ kubectl describe deployment xxx-deployment ---- ------ ------ Events: <none> $kubectl描述部署xxx部署 ---- ------ ------ 活动: 我已经部署了一些资源,但除了Pod,我还没有看到这个事件 如果事件发生在其他资源中,将发生什么类型的事件 你能推荐一些参考资料

对Pod以外的资源(部署、复制集…)运行此命令时

$ kubectl describe deployment xxx-deployment 

----           ------  ------

Events:          <none>
$kubectl描述部署xxx部署
----           ------  ------
活动:
我已经部署了一些资源,但除了Pod,我还没有看到这个事件

如果事件发生在其他资源中,将发生什么类型的事件


你能推荐一些参考资料吗?

你也可以通过标签过滤
--labels
来描述所有资源你也可以通过标签过滤
--labels
来描述所有资源是的,部署确实有事件。但请记住,活动仅在1小时左右可用


是的,部署确实有事件。但请记住,活动仅在1小时左右可用


很好地解释了Kubernetes中的事件是什么,您可以在文章中找到。作者还提到了事件的类型

Kubernetes事件是Kubernetes中的一种资源类型,当其他资源有状态更改、错误或其他应广播到系统的消息时,会自动创建这些事件。虽然没有太多可用于事件的文档,但在调试Kubernetes集群中的问题时,它们是非常宝贵的资源

您不仅可以描述kubernetes中的
pod
deployment
replicaset
资源,还可以描述几乎所有的资源

示例:

  • kubectl描述作业pi-n测试
  • kubectl描述节点ubuntu
列出您可以使用的所有资源事件
$kubectl获取事件--所有名称空间

$ kubectl get events --all-namespaces
NAMESPACE     LAST SEEN   TYPE      REASON                    OBJECT                                                           MESSAGE
default       50m         Normal    Starting                  node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Starting kubelet.
default       50m         Normal    NodeHasSufficientMemory   node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Node gke-cluster-1-default-pool-XXXXXXXXXXXXX status is now: NodeHasSufficientMemory
default       2m47s       Normal    SuccessfulCreate          job/pi                                                           Created pod: pi-5rgbz
kube-system   50m         Normal    ScalingReplicaSet         deployment/fluentd-gcp-scaler                                    Scaled up replica set fluentd-gcp-scaler-6855f55bcc to 1
在“对象”列中,您可以选择资源类型

如果您想要更详细的信息,可以使用
-o-wide
标志-
$kubectl get events--all namespace-o-wide

$ kubectl get events -o wide
LAST SEEN   TYPE      REASON                    OBJECT                                   SUBOBJECT                      SOURCE                     MESSAGE                                      
                                                                                                                                                                    FIRST SEEN   COUNT   NAME
20m         Normal    Scheduled                 pod/hello-world-86d6c6f84d-8qz9d                                        default-scheduler          Successfully assigned default/hello-world-86d
6c6f84d-8qz9d to ubuntu-18  
可能是根本原因

我无法在一开始创建没有任何事件的部署,我想您已经设置了
--事件ttl
,如中所述

——事件ttl持续时间默认值:1h0m0s

保留事件的时间量

报告中也提到了这一点

简而言之,如果设置了此标志,所有事件将在1小时后消失。

要检查在
kube-apiserver
中是否设置了此标志,可以进行检查


如果这对您没有帮助,请使用配置YAML、您使用的K8s版本、复制步骤等信息编辑您的问题。

很好地解释了Kubernetes中的事件是什么,您可以在文章中找到。作者还提到了事件的类型

Kubernetes事件是Kubernetes中的一种资源类型,当其他资源有状态更改、错误或其他应广播到系统的消息时,会自动创建这些事件。虽然没有太多可用于事件的文档,但在调试Kubernetes集群中的问题时,它们是非常宝贵的资源

您不仅可以描述kubernetes中的
pod
deployment
replicaset
资源,还可以描述几乎所有的资源

示例:

  • kubectl描述作业pi-n测试
  • kubectl描述节点ubuntu
列出您可以使用的所有资源事件
$kubectl获取事件--所有名称空间

$ kubectl get events --all-namespaces
NAMESPACE     LAST SEEN   TYPE      REASON                    OBJECT                                                           MESSAGE
default       50m         Normal    Starting                  node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Starting kubelet.
default       50m         Normal    NodeHasSufficientMemory   node/gke-cluster-1-default-pool-XXXXXXXXXXXXX                    Node gke-cluster-1-default-pool-XXXXXXXXXXXXX status is now: NodeHasSufficientMemory
default       2m47s       Normal    SuccessfulCreate          job/pi                                                           Created pod: pi-5rgbz
kube-system   50m         Normal    ScalingReplicaSet         deployment/fluentd-gcp-scaler                                    Scaled up replica set fluentd-gcp-scaler-6855f55bcc to 1
在“对象”列中,您可以选择资源类型

如果您想要更详细的信息,可以使用
-o-wide
标志-
$kubectl get events--all namespace-o-wide

$ kubectl get events -o wide
LAST SEEN   TYPE      REASON                    OBJECT                                   SUBOBJECT                      SOURCE                     MESSAGE                                      
                                                                                                                                                                    FIRST SEEN   COUNT   NAME
20m         Normal    Scheduled                 pod/hello-world-86d6c6f84d-8qz9d                                        default-scheduler          Successfully assigned default/hello-world-86d
6c6f84d-8qz9d to ubuntu-18  
可能是根本原因

我无法在一开始创建没有任何事件的部署,我想您已经设置了
--事件ttl
,如中所述

——事件ttl持续时间默认值:1h0m0s

保留事件的时间量

报告中也提到了这一点

简而言之,如果设置了此标志,所有事件将在1小时后消失。

要检查在
kube-apiserver
中是否设置了此标志,可以进行检查


如果这对您没有帮助,请使用配置YAML、您使用的K8s版本、复制步骤等信息编辑您的问题。

您能否提供您的部署YAML以及您使用的K8s版本?如果使用并使用
$kubectl scale deploy nginx deployment--replications=5将其放大,您将获得什么输出。如果您
$kubectl description deploy nginx deployment
您是否得到了像
普通ScalingReplicaSet 5m44s部署控制器那样的输出,将副本集nginx-deployment-7fd6966748放大到5
在使用
kubectl get events时,您是否可以看到pod以外的其他资源--所有名称空间
?您能否提供您的部署YAML和您使用的K8s版本是什么?如果使用并使用
$kubectl scale deploy nginx deployment--replications=5将其放大,您将获得什么输出。如果您
$kubectl description deploy nginx deployment
您是否得到了像
普通ScalingReplicaSet 5m44s部署控制器一样的输出,将副本集nginx-deployment-7fd6966748放大到5
您在使用
kubectl get events时是否可以看到pod以外的其他资源--所有名称空间
?谢谢您的支持和支持详细解释!我不知道有一个默认的1小时限制。这对我很有帮助。谢谢你的友好和详细的解释!我不知道有一个默认的1小时限制。这对我很有帮助。我不知道有默认的1小时限制。谢谢我不知道有一个默认的1小时限制。谢谢