标签:ber cas 需要 list panic web use 分享 path
Github地址:https://github.com/kubernetes/client-go
访问kubernetes集群有几下几种方式:
方式 | 特点 | 支持者 |
---|---|---|
Kubernetes dashboard | 直接通过Web UI进行操作,简单直接,可定制化程度低 | 官方支持 |
kubectl | 命令行操作,功能最全,但是比较复杂,适合对其进行进一步的分装,定制功能,版本适配最好 | 官方支持 |
client-go | 从kubernetes的代码中抽离出来的客户端包,简单易用,但需要小心区分kubernetes的API版本 | 官方支持 |
client-python | python客户端,kubernetes-incubator | 官方支持 |
Java client | fabric8中的一部分,kubernetes的java客户端 | redhat |
使用client-go获取Deployment列表:
package main import ( "path/filepath" "k8s.io/client-go/tools/clientcmd" "k8s.io/client-go/kubernetes" "k8s.io/apimachinery/pkg/apis/meta/v1" "fmt" ) func main() { path, err := filepath.Abs("./") if err != nil { panic(err) } configFilePath := path + "/K8s/API/config" // use the config file config, err := clientcmd.BuildConfigFromFlags("", configFilePath) if err != nil { panic(err.Error()) } // NewForConfig creates a new ClientSet for the given config. clientSet, err := kubernetes.NewForConfig(config) if err != nil { panic(err.Error()) } // get all deployment in default namespace deploymentList, err := clientSet.AppsV1().Deployments("default").List(v1.ListOptions{}) if err != nil { panic(err.Error()) } // print list deployment name and replicas for _, v := range deploymentList.Items { fmt.Printf(" * %s (%d replicas)\n", v.Name, *v.Spec.Replicas) } }
标签:ber cas 需要 list panic web use 分享 path
原文地址:https://www.cnblogs.com/vincenshen/p/9581862.html