Created
November 17, 2021 12:55
-
-
Save louwersj/3e78d25e2b694febe88f4f7d8af00802 to your computer and use it in GitHub Desktop.
Show Last applied config on service with kubectl in kubernets
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from kubernetes import client, config | |
import json | |
def k8sGetServiceDetails(targetNameSpace): | |
v1Client = client.CoreV1Api() | |
servicesList = v1Client.list_namespaced_service(targetNameSpace) | |
for service in servicesList.items: | |
if service.metadata.annotations is not None: | |
servicePorts = ((json.loads(service.metadata.annotations["kubectl.kubernetes.io/last-applied-configuration"]))["spec"]["ports"]) | |
serviceName = ((json.loads(service.metadata.annotations["kubectl.kubernetes.io/last-applied-configuration"]))["metadata"]["name"]) | |
ServiceNameSpace = ((json.loads(service.metadata.annotations["kubectl.kubernetes.io/last-applied-configuration"]))["metadata"]["namespace"]) | |
for ports in servicePorts: | |
print("namespace:", ServiceNameSpace, "service:", serviceName, "| source-port:", ports["port"], "| target-port:", ports["targetPort"]) | |
if __name__ == '__main__': | |
config.load_kube_config() | |
v1 = client.CoreV1Api() | |
nameSpaceList = v1.list_namespace() | |
for nameSpace in nameSpaceList.items: | |
k8sGetServiceDetails(nameSpace.metadata.name) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment