Penyerahan Kubernetes menyediakan cara untuk mengurus aplikasi stateful yang kompleks dengan cara deklaratif. Salah satu operasi yang paling biasa pada penempatan ialah penskalaan, yang membolehkan anda menambah atau mengurangkan bilangan replika yang dijalankan untuk penempatan.
Dalam Go, perpustakaan pelanggan Kubernetes rasmi menyediakan cara yang mudah untuk berinteraksi dengan API Kubernetes. Menggunakan pustaka ini, anda boleh melakukan pelbagai operasi, termasuk penetapan skala.
Walaupun klien Go tidak mempunyai kaedah skala khusus untuk penggunaan, anda boleh mencapai penskalaan dengan menggabungkan beberapa kaedah:
Berikut ialah contoh kod yang dikemas kini yang menunjukkan cara menskalakan kerahan dengan mengubah suai replika:
package main import ( "context" "log" "path/filepath" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/util/homedir" ) func main() { kubeconfig := filepath.Join(homedir.HomeDir(), ".kube", "config") config, err := clientcmd.BuildConfigFromFlags("", kubeconfig) if err != nil { config, err = rest.InClusterConfig() if err != nil { log.Fatal(err) } } client, err := kubernetes.NewForConfig(config) if err != nil { log.Fatal(err) } // Get deployment and modify replicas deployment, err := client.AppsV1().Deployments("default").Get(context.TODO(), "nginx", metav1.GetOptions{}) if err != nil { log.Fatal(err) } deployment.Spec.Replicas = 10 // Update deployment with modified replicas updated, err := client.AppsV1().Deployments("default").Update(context.TODO(), deployment, metav1.UpdateOptions{}) if err != nil { log.Fatal(err) } log.Println("Updated deployment: ", updated) }
Kod ini menunjukkan pengambilan semula penempatan, pengubahsuaian replika dan seterusnya kemas kini penggunaan menggunakan klien Kubernetes Go.
Atas ialah kandungan terperinci Bagaimana untuk Menskalakan Deployment Kubernetes Menggunakan Klien Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!