62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
# 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.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# This example demonstrates how to enable debug logging in the Kubernetes
|
|
# Python client and how it can be used for troubleshooting requests/responses.
|
|
|
|
from kubernetes import client, config
|
|
|
|
|
|
def main():
|
|
# Load kubeconfig from default location
|
|
config.load_kube_config()
|
|
|
|
# Enable debug logging
|
|
configuration = client.Configuration()
|
|
configuration.debug = True
|
|
api_client = client.ApiClient(configuration=configuration)
|
|
|
|
# Use AppsV1Api with debug logging enabled
|
|
apps_v1 = client.AppsV1Api(api_client=api_client)
|
|
|
|
# Example: Create a dummy deployment (adjust namespace as needed)
|
|
deployment = client.V1Deployment(
|
|
api_version="apps/v1",
|
|
kind="Deployment",
|
|
metadata=client.V1ObjectMeta(name="debug-example"),
|
|
spec=client.V1DeploymentSpec(
|
|
replicas=1,
|
|
selector={"matchLabels": {"app": "debug"}},
|
|
template=client.V1PodTemplateSpec(
|
|
metadata=client.V1ObjectMeta(labels={"app": "debug"}),
|
|
spec=client.V1PodSpec(
|
|
containers=[
|
|
client.V1Container(
|
|
name="busybox",
|
|
image="busybox",
|
|
command=["sh", "-c", "echo Hello, Kubernetes! && sleep 3600"]
|
|
)
|
|
]
|
|
),
|
|
),
|
|
),
|
|
)
|
|
|
|
# Create the deployment
|
|
try:
|
|
print("[INFO] Creating deployment...")
|
|
apps_v1.create_namespaced_deployment(
|
|
namespace="default", body=deployment
|
|
)
|
|
except client.exceptions.ApiException as e:
|
|
print("[ERROR] Exception occurred:", e)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|