मैं k8s गो-क्लाइंट के साथ खेलने और खेलने के लिए नया हूं। मैं deploymentsClient.List(metav1.ListOptions{}) से एक समारोह में आइटम पास करना चाहता/चाहती हूं। fmt.Printf("%T\n", deploy) का कहना है कि यह v1.Deployment टाइप है। तो मैं एक ऐसा फ़ंक्शन लिखता हूं जो (deploy *v1.Deployment) लेता है और इसे &deploy पास करता है जहां तैनाती deploymentsClient.List में एक आइटम है। हालांकि यह त्रुटि 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)

    }
2
user1855481 20 अक्टूबर 2019, 01:21

1 उत्तर

सबसे बढ़िया उत्तर

आपको "k8s.io/api/apps/v1" आयात करने की आवश्यकता है, पैकेज में परिनियोजन परिभाषित किया गया है। देखें https://godoc.org/k8s.io/api/apps/v1

2
Dagang 20 अक्टूबर 2019, 03:46