imago icon indicating copy to clipboard operation
imago copied to clipboard

How to configure external kube cluster inside kube cluster

Open hudi1 opened this issue 2 years ago • 0 comments

We have 2 kube clusters. In first we have jenkins with imago which deploy jobs on second kube cluster. Problem is imago can not see second cluster because he ignore kubeConfig:

func inClusterClientPossible() bool {
	fi, err := os.Stat("/var/run/secrets/kubernetes.io/serviceaccount/token")
	return os.Getenv("KUBERNETES_SERVICE_HOST") != "" &&
		os.Getenv("KUBERNETES_SERVICE_PORT") != "" &&
		err == nil && !fi.IsDir()
}

I think there should be option to use kubeConfig even it is inside another kube cluster

	if inClusterClientPossible() {
//kubeconfig is ignored
		clusterConfig, err = rest.InClusterConfig()
		if err != nil {
			return nil, err
		}
		if err = setNamespace(true); err != nil {
			return nil, err
		}
	} else {
		clusterConfig, err = clientcmd.BuildConfigFromFlags("", kubeconfig)
		if err != nil {
			return nil, err
		}
		if err = setNamespace(false); err != nil {
			return nil, err
		}
	}

hudi1 avatar Apr 14 '22 07:04 hudi1