"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استرداد كائن خدمة Kubernetes باستخدام مكتبة Go؟

كيفية استرداد كائن خدمة Kubernetes باستخدام مكتبة Go؟

تم النشر بتاريخ 2024-11-05
تصفح:457

How to Retrieve a Kubernetes Service Object Using the Go Library?

إنشاء تطبيق عميل بسيط باستخدام مكتبة Kubernetes Go

على الرغم من التحديات التي واجهتها في البدء مع مكتبة Kubernetes Go، فمن الأمثلة على ذلك متاح يوضح استخدامه لمهمة بسيطة: استرداد كائن الخدمة بالاسم وعرض سماته.

كيفية استخدام المثال

يتضمن المثال المقدم ما يلزم حزم للتفاعل مع Kubernetes API. أولاً، قم بإنشاء كائن Client.Config لتأسيس اتصال بخادم Kubernetes API. بعد ذلك، قم بإنشاء مثيل للعميل باستخدام الوظيفة الجديدة وتمرير كائن التكوين.

لاسترداد كائن الخدمة، استخدم أسلوب Get على واجهة Client.Services. حدد مساحة الاسم واسم الخدمة التي ترغب في استردادها. بمجرد حصولك على كائن الخدمة، يمكنك بعد ذلك طباعة سماته، مثل اسمه، ومنفذه، وnodePort.

نموذج التعليمات البرمجية

package main

import (
    "fmt"
    "log"

    "github.com/kubernetes/kubernetes/pkg/api"
    client "github.com/kubernetes/kubernetes/pkg/client/unversioned"
)

func main() {

    config := client.Config{
        Host: "http://my-kube-api-server.me:8080",
    }
    c, err := client.New(&config)
    if err != nil {
        log.Fatalln("Can't connect to Kubernetes API:", err)
    }

    s, err := c.Services(api.NamespaceDefault).Get("some-service-name")
    if err != nil {
        log.Fatalln("Can't get service:", err)
    }
    fmt.Println("Name:", s.Name)
    for p, _ := range s.Spec.Ports {
        fmt.Println("Port:", s.Spec.Ports[p].Port)
        fmt.Println("NodePort:", s.Spec.Ports[p].NodePort)
    }
}

يوفر هذا المثال نقطة بداية للتفاعل مع Kubernetes API من خلال مكتبة Go.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3