From eb9e4d0d4f05ed8261d032ec4654cc227532e95d Mon Sep 17 00:00:00 2001 From: Harsh Sharma <76774500+Harshu1441@users.noreply.github.com> Date: Sat, 24 Feb 2024 12:11:50 +0530 Subject: [PATCH 1/3] Added the Pod_log.py file in example The Pod_log.py used to print the all the logs generated by pods. --- examples/pod_logs.py | 66 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 examples/pod_logs.py diff --git a/examples/pod_logs.py b/examples/pod_logs.py new file mode 100644 index 0000000000..d964f502bc --- /dev/null +++ b/examples/pod_logs.py @@ -0,0 +1,66 @@ +# Copyright 2019 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +List all pod with logs. + +""" + +from kubernetes import client, config + +def list_pods_with_logs(): + try: + #Load Minikube configuration + config.load_kube_config() + + #Create Kubernetes API client + v1 = client.CoreV1Api() + + # List pods in all namespaces + pods = v1.list_pod_for_all_namespaces(watch=False) + + # Print details of each pod and retrieve logs + for pod in pods.items: + pod_name = pod.metadata.name + namespace = pod.metadata.namespace + pod_ip = pod.status.pod_ip + node_name = pod.spec.node_name + + print(f"Name: {pod_name}, Namespace: {namespace}, IP: {pod_ip}, Node: {node_name}") + + #Retrieve and print logs for each container in the pod + for container in pod.spec.containers: + container_name = container.name + print(f"Logs for container {container_name}:") + try: + logs = v1.read_namespaced_pod_log(name=pod_name, namespace=namespace, container=container_name, tail_lines=5) + print(logs) + except Exception as e: + print(f"Error getting logs for pod {pod_name}, container {container_name}: {e}") + + except Exception as e: + print(f"Error: {e}") + + +def main(): + list_pods_with_logs() + + +if __name__ == "__main__": + main() + + + + + From eb34f98c9ccd68704ef5bf50e56f03d70fcd6e36 Mon Sep 17 00:00:00 2001 From: Harsh Sharma <76774500+Harshu1441@users.noreply.github.com> Date: Sun, 9 Feb 2025 23:23:06 +0530 Subject: [PATCH 2/3] Update pod_logs.py --- examples/pod_logs.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/pod_logs.py b/examples/pod_logs.py index d964f502bc..644cfff65d 100644 --- a/examples/pod_logs.py +++ b/examples/pod_logs.py @@ -1,5 +1,5 @@ -# Copyright 2019 The Kubernetes Authors. -# +# Copyright s/2019/2025/ The Kubernetes Authors. + # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at From b41b95505bea6bfc50f86fbac6cd0706386e83ca Mon Sep 17 00:00:00 2001 From: Harsh Sharma <76774500+Harshu1441@users.noreply.github.com> Date: Sun, 16 Feb 2025 12:54:15 +0530 Subject: [PATCH 3/3] Update pod_logs.py --- examples/pod_logs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/pod_logs.py b/examples/pod_logs.py index 644cfff65d..e4eaa24baf 100644 --- a/examples/pod_logs.py +++ b/examples/pod_logs.py @@ -1,4 +1,4 @@ -# Copyright s/2019/2025/ The Kubernetes Authors. +# Copyright 2025 The Kubernetes Authors. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License.