列出go中的服务



我试图列出knative (v0.17.0)services,我有一个clientset,但我不知道从哪里开始。下面是我为测试启动的一个服务:

apiVersion: serving.knative.dev/v1alpha1
kind: Service
metadata:
name: "helloworld"
spec:
runLatest:
configuration:
revisionTemplate:
spec:
container:
image: "gcr.io/knative-samples/helloworld-go"
env:
- name: "TARGET"
value: "world"

如果你有任何建议,教程或例子,那就太好了

根据这个要点改编为后1.18 client-go,和服务clientsetgodoc:

import (
"context"
"fmt"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/tools/clientcmd"
servingv1 "knative.dev/serving/pkg/client/clientset/versioned/typed/serving/v1"
}
func doIt() error {
config, err := clientcmd.BuildConfigFromFLags("", "") // Uses defaults
if err != nil {
return err
}
serving, err := servingv1.NewForConfig(config)
if err != nil {
return err
}
// Get services in the default namespace
list, err := serving.Services("default").List(context.Background(), metav1.ListOptions{})
if err != nil {
return err
}
// How to print them out.
fmt.Printf("There are %d services in the default namespace", len(list.Items))
for _, i := range list.Items {
fmt.Printf("  > Service %q", i.Name)
}
}

如果你想列出本地服务,那么你需要使用这里的API。

为了从这个yaml中获取配置,您可以将它们设置为环境变量在env列表中,然后在代码中调用:

os.GetEnv("TARGET")

现在使用env中的密钥和API,您可以列出服务。

相关内容

  • 没有找到相关文章

最新更新