Saturday, March 19, 2022

Working with Kubernetes using Python - Part 02 - Switch context

Following code snipet uses kubeconfig python module and it takes the default kubeconfig file, and switch to a new context. 

kubectl commands: 

kubectl config get-contexts
kubectl config current-context
kubectl config use-context <context_name>

Code: 

# prerequisite: pip3 install kubeconfig
# this code snipet can be used to switch to a different context
from kubeconfig import KubeConfig
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument(
"-c", "--cluster", required=True, help="K8s cluster context name"
)
args = parser.parse_args()
new_context = args.cluster
conf = KubeConfig()
print("Kubeconfig file: ", conf.view())
print("Current context: ", conf.current_context())
conf.use_context(new_context)
print("Switched to context: ", conf.current_context())
if __name__ == "__main__":
main()

Note: If you want to use a specific kubeconfig file, instead of  conf = KubeConfig() 

you can use conf = KubeConfig('path-to-your-kubeconfig')

Reference:

https://kubeconfig-python.readthedocs.io/en/latest/

Hope it was useful. Cheers!

No comments:

Post a Comment