Je suis assez nouveau sur Bash et je travaille sur plusieurs clusters kubernetes. Je voulais une sorte d'utilitaire dans lequel je peux définir ma variable KUBECONFIG de manière dynamique lorsque je travaille sur plusieurs clusters. Mon fichier kubeconfig se trouve dans plusieurs dossiers. Ce que je veux, c'est trouver tous les fichiers kubeconfig, obtenir les chemins et concaténer les chemins avec deux-points, le définir sur la variable KUBECONFIG et l'exporter dans le fichier bashrc.

Je connais des éléments de commande mais je ne suis pas capable de cadrer le code complet.

find /Users/anandabhishe/gitlab/ -name kubeconfig.yaml -exec echo {} \; 

Je veux concaténer la sortie de la commande find et définir mon KUBECONFIG. comme ça "

export KUBECONFIG=/Users/anandabhishe/gitlab/work2/kubeconfigs/scdc1-staging-hrwork-dev/kubeconfig.yaml:/Users/anandabhishe/gitlab/work2/kubeconfigs/scdc2-prod-hrwork-uat/kubeconfig.yaml:/Users/anandabhishe/gitlab/work2/kubeconfigs/scdc2-prod-hrwork/kubeconfig.yaml "

-1
Abhishek Anand 28 août 2020 à 11:15

2 réponses

Meilleure réponse

Vous pouvez essayer quelque chose comme ça:

export KUBECONFIG=$(for i in $(find /Users/anandabhishe/gitlab/ -iname 'kubeconfig.yaml') ; do echo -n ":$i"; done | cut -c 2-)
1
flutt13 28 août 2020 à 13:23

Vous pouvez fusionner (https://stackoverflow.com/a/63177022/5525824) plusieurs fichiers kubeconfig dans un seul fichier. dans le dossier .kube et répertoriez le cluster Kubernets à l'aide de

kubectl config get-contexts

Modifier la configuration par défaut du cluster Kubernetes en

kubectl config use-context

La commande ci-dessus modifiera également le cluster Kubernetes par défaut pour helm.

Pour plus de détails, vous pouvez suivre: https: / /kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

Mettre à jour :

Vous pouvez faire quelque chose comme

find ./wotnot -name kubeconfig.yaml -print0

La sortie serait quelque chose comme

/Users/anandabhishe/gitlab/work2/kubeconfigs/scdc1-staging-hrwork-dev/kubeconfig.yaml./Users/anandabhishe/gitlab/work2/kubeconfigs/scdc2-prod-hrwork-uat/kubeconfig.yaml./Users/anandabhishe/gitlab/work2/kubeconfigs/scdc2-prod-hrwork/kubeconfig.yaml

Enregistrer la sortie dans une variable

Remplacer le chemin ./ par : en utilisant sed

-1
Harsh Manvar 28 août 2020 à 09:39