req := k.client.CoreV1().RESTClient().Get() 云效这个api云效调用过么?查询 k8s》pod》container 的日志
云效这个api云效调用过么?查询 k8s》pod》container 的日志[阿里云云效]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
req := k.client.CoreV1().RESTClient().Get() 云效这个api云效调用过么?查询 k8s》pod》container 的日志
查询K8s Pod和Container日志可以使用Kubernetes API的core/v1 REST API。
以下是使用Kubernetes API查询Pod和Container的日志的基本步骤:
首先使用kubernetes API的CoreV1API去获取Pod的名称。 podName := “my-pod”
podLogOpts := v1.PodLogOptions{} req := k.client.CoreV1().Pods(namespace).GetLogs(podName, &podLogOpts) 然后我们可以使用获取到的Pod名称获取到这个Pod的日志信息。 resp, err := req.Stream() if err != nil { panic(err.Error()) } defer resp.Close()
log := new(bytes.Buffer) _, err = io.Copy(log, resp) if err != nil { panic(err.Error()) }
fmt.Printf(“Logs for pod %s:%s”, podName, log.String()) 如果要获取容器中的特定日志,则可以使用容器名称来过滤。 containerName := “my-container” podLogOpts := v1.PodLogOptions{ Container: containerName, }
req := k.client.CoreV1().Pods(namespace).GetLogs(podName, &podLogOpts) 这个请求将返回特定容器的日志。使用Kubernetes API,你可以根据需要定制日志的过滤和输出格式。
流水线只负责部署yaml, 并不会回调容器的日志,此回答整理自钉群“云效开发者交流群6群”