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

Bagaimana untuk menambah pembolehubah persekitaran pada penggunaan kubernetes menggunakan golang?

王林
Lepaskan: 2024-02-08 23:45:28
ke hadapan
586 orang telah melayarinya

如何使用 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")
    }
}
Salin selepas log masuk

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",
        },
}
Salin selepas log masuk

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan