Я новичок в игре с k8s go-client. Я бы хотел передать предметы из deploymentsClient.List(metav1.ListOptions{})
в функцию. fmt.Printf("%T\n", deploy)
говорит, что это тип v1.Deployment
. Поэтому я пишу функцию, которая принимает (deploy *v1.Deployment)
и передает ее &deploy
, где 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)
}