Kubernetes Go 庫入門:一個簡單的客戶端應用程式
使用Kubernetes 時,Go 庫提供了一個方便的互動介面使用API。但是,文件和範例有時可能與庫的最新版本不同步。為了解決這個問題,讓我們深入研究一個簡單的範例來示範如何開始。
目標:按名稱擷取 Service 物件並列印其屬性,例如 nodePort。
解決方案:
經過實驗並從Kubernetes Slack 頻道尋求指導後,以下程式碼片段提供了一個可行的範例:
<code class="go">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) } }</code>
實作:
注意:雖然這是可能的為了使用 RESTful API 實現相同的結果,利用 Go 庫可以實現更精簡和慣用的程式碼。
以上是如何使用 Kubernetes Go 庫按名稱檢索服務物件並列印其屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!