k8s go客户端:如何将v1.Deployment类型传递给函数
我是新来的,和k8s go客户一起玩。我想将项目从k8s go客户端:如何将v1.Deployment类型传递给函数,go,kubernetes,Go,Kubernetes,我是新来的,和k8s go客户一起玩。我想将项目从deploymentsClient.List(metav1.ListOptions{})传递到函数fmt.Printf(“%T\n”,deploy)表示它是类型v1.Deployment。因此,我编写了一个函数,它接受(deploy*v1.Deployment)并将其传递给&deploy,其中deploy是部署客户端列表中的一项。但是,cmd/list.go:136:38:undefined:v1出现错误。我做错了什么 这是我的进口货 impor
deploymentsClient.List(metav1.ListOptions{})
传递到函数fmt.Printf(“%T\n”,deploy)
表示它是类型v1.Deployment
。因此,我编写了一个函数,它接受(deploy*v1.Deployment)
并将其传递给&deploy
,其中deploy是部署客户端列表中的一项。但是,cmd/list.go:136:38:undefined:v1出现错误。我做错了什么
这是我的进口货
import (
// "encoding/json"
"flag"
"fmt"
//yaml "github.com/ghodss/yaml"
"github.com/spf13/cobra"
// "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"os"
"path/filepath"
)
然后我会得到部署列表:
deploymentsClient := clientset.AppsV1().Deployments(ns)
deployments, err := deploymentsClient.List(metav1.ListOptions{})
if err != nil {
panic(err.Error())
}
for _, deploy := range deployments.Items {
fmt.Println(deploy.ObjectMeta.SelfLink)
// printDeploymentSpecJson(deploy)
// printDeploymentSpecYaml(deploy)
}
您需要导入“k8s.io/api/apps/v1”,部署在包中定义。请参阅。v1
来自哪里?您导入了吗?您没有将模块作为v1导入。如果我将类型更改为*metav1.Deployment
我会得到错误cmd/list。go:141:38:未定义:“k8s.io/apimachinery/pkg/api/meta/v1”。Deployment