Éditeur PHP Apple vous propose un article sur la façon d'utiliser Golang pour ajouter des variables d'environnement au déploiement de Kubernetes. Dans le déploiement Kubernetes, la définition des variables d'environnement est très importante et peut nous aider à configurer le comportement de l'application. Grâce à Golang, vous pouvez facilement injecter des variables d'environnement dans les pods Kubernetes pour obtenir un déploiement plus flexible et configurable. Nous détaillerons ensuite comment utiliser Golang pour atteindre cet objectif.
Je dois définir ou ajouter des variables d'environnement à un déploiement Kubernetes existant à l'aide de Golang. Il doit être ajouté à la configuration après le redémarrage.
func (r *SparkETLReconciler) DoRestart(w http.ResponseWriter, req *http.Request) { ctx := context.TODO() r.Log.Info("restart hit!") fmt.Fprintf(w, "Hi there, I love %s!", req.URL.Path[1:]) found := &appsv1.Deployment{} err := r.Get(ctx, types.NamespacedName{ Name: "vmc-etl-test", Namespace: "ndl", }, found) if err != nil { r.Log.Error(err, "deploy check failed") } else { fmt.Fprintf(w, "I found the deployment!") } deleteErr := r.DeleteAllOf(ctx, &corev1.Pod{}, client.InNamespace("ndl"), client.MatchingLabels{"operatorETLName": req.URL.Path[1:]) if deleteErr != nil { r.Log.Error(deleteErr, "deletion of deployment's pods failed") } else { fmt.Fprintf(w, "Deployment's pods deleted, restarting") } }
Après avoir été déployé, vous pouvez ajouter des variables d'environnement de la manière suivante.
# Assuming you have only 1 container in the Pod found.Spec.Template.Spec.Containers[0].Env = []v1.EnvVar{ { Name: "ENV_VARIABLE_NAME", Value: "ENV_VARIABLE_VALUE", }, }
Inutile de dire que si vous avez déjà des variables d'environnement dans votre conteneur, vous feriez mieux de les append()
, sinon vous les écraserez.
De plus, vous devez envoyer un appel à update()
(或 createorupdate()
) dans votre déploiement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!