
这是我们最终使用client-go库的结果:
func getPodLogs(pod corev1.Pod) string { podLogOpts := corev1.PodLogOptions{} config, err := rest.InClusterConfig() if err != nil { return "error in getting config" } // creates the clientset clientset, err := kubernetes.NewForConfig(config) if err != nil { return "error in getting access to K8S" } req := clientset.CoreV1().Pods(pod.Namespace).GetLogs(pod.Name, &podLogOpts) podLogs, err := req.Stream() if err != nil { return "error in opening stream" } defer podLogs.Close() buf := new(bytes.Buffer) _, err = io.Copy(buf, podLogs) if err != nil { return "error in copy information from podLogs to buf" } str := buf.String() return str}希望对您有所帮助。请分享您对如何从Kubernetes的吊舱中获取日志的想法或解决方案。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)