Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menambah pembolehubah persekitaran pada penggunaan kubernetes menggunakan golang?

Bagaimana untuk menambah pembolehubah persekitaran pada penggunaan kubernetes menggunakan golang?

王林
王林ke hadapan
2024-02-08 23:45:28564semak imbas

如何使用 golang 将环境变量添加到 kubernetes 部署?

Editor PHP Apple membawakan anda artikel tentang cara menggunakan golang untuk menambah pembolehubah persekitaran pada penggunaan Kubernetes. Dalam penggunaan Kubernetes, tetapan pembolehubah persekitaran adalah sangat penting dan boleh membantu kami mengkonfigurasi gelagat aplikasi. Menggunakan golang, anda boleh menyuntik pembolehubah persekitaran dengan mudah ke dalam Kubernetes Pods untuk mencapai penggunaan yang lebih fleksibel dan boleh dikonfigurasikan. Seterusnya, kami akan memperincikan cara menggunakan golang untuk mencapai matlamat ini.

Kandungan soalan

Saya perlu menetapkan atau menambah pembolehubah persekitaran pada penggunaan kubernetes sedia ada menggunakan golang. Ia harus ditambah pada konfigurasi selepas but semula.

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")
    }
}

Penyelesaian

Selepas digunakan, anda boleh menambah pembolehubah persekitaran dengan cara berikut.

# 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",
        },
}

Tidak perlu dikatakan, jika anda sudah mempunyai beberapa pembolehubah persekitaran dalam bekas anda, lebih baik anda append() mereka, jika tidak, anda akan menimpanya.

Selain itu, anda perlu menghantar panggilan ke update() (或 createorupdate()) dalam penempatan anda.

Atas ialah kandungan terperinci Bagaimana untuk menambah pembolehubah persekitaran pada penggunaan kubernetes menggunakan golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam