亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 Kubernetes Go 客戶端的部署列表的返回類型

使用 Kubernetes Go 客戶端的部署列表的返回類型

Go
Cats萌萌 2022-05-18 14:04:29
  package main    import (          "fmt"        "html/template"        "net/http"        "os"        log "github.com/kubernetes/klog"        "k8s.io/apimachinery/pkg/apis/meta/v1"        "k8s.io/client-go/kubernetes"        "k8s.io/client-go/tools/clientcmd"    )    type NamespaceDetails struct { //namespace details struct        Namespace []string    }    var templates = template.Must(template.ParseGlob("./*.html"))             var microservice = "/microservice/"    var detailed_view = "/detailed/"    var kube_config_path = os.Getenv("HOME")+"/.kube/config"    var config, _ = clientcmd.BuildConfigFromFlags("", kube_config_path)    var clientset,_ = kubernetes.NewForConfig(config)                                 var NamespaceClient, _ = clientset.CoreV1().Namespaces().List(v1.ListOptions{})     func main() {        http.Handle("/css/", http.StripPrefix("/css/", http.FileServer(http.Dir("css"))))        http.Handle("/jpeg/", http.StripPrefix("/jpeg/", http.FileServer(http.Dir("css"))))        http.HandleFunc("/", Homepage)             // calling homepage function at '/' url        http.HandleFunc(microservice, Deployments) //calling Deployments function at '/microserivce/' url        http.HandleFunc(detailed_view, DetailedView)        // http.HandleFunc("/onlyme", onlyme)        http.ListenAndServe(":8801", nil) // server runs at this port    }    func Homepage(w http.ResponseWriter, r *http.Request) {        NamespaceStruct := NamespaceDetails{}        for _, Namespaces := range NamespaceClient.Items {            log.V(5).Info("inside namespace items loop in homepage")            NamespaceStruct.Namespace = append(NamespaceStruct.Namespace, Namespaces.Name)        }                templates.ExecuteTemplate(w, "homepage2.html", NamespaceStruct)    }當我嘗試運行此代碼時,它給出了錯誤:語法錯誤:意外文字“k8s.io/api/apps/v1”,預期類型我想使用 deploymnets 函數返回部署列表。我不知道要使用什么返回類型,以便我成功返回部署列表。
查看完整描述

2 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

在導入中添加這一行

v2 "k8s.io/api/apps/v1"

并更新函數參數如下

func deployments(namespace string)(*v2.DeploymentList, error){

如果你在尋找 podslist/namespacelist

import  v3 "k8s.io/api/core/v1"

和更新功能為,

 func func_name (input paramteters)(*v3.NamespaceList/PodList , error){


查看完整回答
反對 回復 2022-05-18
?
慕姐4208626

TA貢獻1852條經驗 獲得超7個贊

這是無效的語法:

func deployments(namespace string)(*"k8s.io/api/apps/v1".DeploymentList, error){

這是正確的語法:

func deployments(namespace string)(*v1.DeploymentList, error){

但是,您已經v1導入了另一個包,因此您必須使用不同的別名導入該包,并使用該名稱,


查看完整回答
反對 回復 2022-05-18
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號