评测Kubernetes部署过程



我是Kubernetes的新手,目前我正在研究Kubernete中的评测。我想在Kubernetes中记录部署过程(创建pod、重新启动pod等(,并想知道每个过程所需的时间和资源(RAM、CPU((例如下载映像、构建部署、pod等(。

有没有一种方法或工具可以让我记录这个过程?非常感谢。

如果没有对某些组件的广泛了解和一些深入的编码,我真的不确定你能否实现你想要的结果。

可以从Kubernetes中检索到的内容:

有关事件的信息

类似于吊舱的创建、终止、带有时间戳的分配:

$ kubectl get events --all-namespaces

即使在json格式中,在该事件中也没有任何关于CPU/RAM使用的信息。

有关pod的信息

$ kubectl get pods POD_NAME -o json

没有关于CPU/RAM使用情况的信息。

$ kubectl describe pods POD_NAME

也没有关于CPU/RAM使用情况的信息。

有关资源使用情况的信息

有一些工具可以监控和报告基本资源使用情况:

$ kubectl top node

带输出:

NAME                                             CPU(cores)   CPU%   MEMORY(bytes)   MEMORY%
MASTER                                           90m          9%     882Mi           33%
WORKER1                                          47m          5%     841Mi           31%
WORKER2                                          37m          3%     656Mi           24%

$ kubectl top pods --all-namespaces

带输出:

NAMESPACE       NAME                                                        CPU(cores)   MEMORY(bytes)
default         nginx-local-84ddb99b55-2nzdb                                0m           1Mi
default         nginx-local-84ddb99b55-nxfh5                                0m           1Mi
default         nginx-local-84ddb99b55-xllw2                                0m           1Mi

有CPU/RAM的使用,但基本形式。

有关部署的信息

$ kubectl describe deployment deployment_name

提供的输出没有提供有关CPU/RAM使用情况的信息。

获取有关资源的信息

获取特定于某些操作(如拉取映像或缩放部署(的CPU/RAM使用情况等资源可能会有问题。并非所有进程都由Kubernetes管理,可能需要操作系统级别的其他工具来获取这些信息。

例如,拉一个映像进行部署会让kubelet代理和CRI与Docker或集群正在使用的其他Container Runtime进行对话。除此之外,Container Runtime不仅下载映像,还执行其他不受Kubernetes直接监控的操作。

另一个例子是HPA(Horizontal Pod Autoscaler(是Kubernetes抽象,获取它的度量在很大程度上取决于如何在集群中收集度量,以确定获取度量的最佳方式。

我强烈鼓励您(根据具体情况(分享您想要监控的内容。

您可以在pod的事件提要中找到这些,请检查kubectl describe pod

相关内容