用client-go二开kubernetes glide的golang 的包管理

来源:互联网 发布:如何激活windows 编辑:程序博客网 时间:2024/05/23 13:16

1.下载client-go官网地址自行查找,通过go get 或者 git clone 都可以
2.安装minikube
3.执行

kubectl config view

kubectl config view

    apiVersion: v1clusters:- cluster:    certificate-authority: /Users/xinzhiyun/.minikube/ca.crt    server: https://192.168.99.104:8443  name: minikubecontexts:- context:    cluster: minikube    user: minikube  name: minikubecurrent-context: minikubekind: Configpreferences: {}users:- name: minikube  user:    client-certificate: /Users/xinzhiyun/.minikube/apiserver.crt    client-key: /Users/xinzhiyun/.minikube/apiserver.key

4.连接kubernetes

package k8sclinetimport (    //metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"    "k8s.io/client-go/kubernetes"    "k8s.io/client-go/tools/clientcmd"    "github.com/golang/glog"    "flag")/**GetKubetnetesClient is get kubernetes client */func GetKubetnetesClient() (kubeClient *kubernetes.Clientset, err error) {    kubeconfig := flag.String("kubeconfig", "config", "absolute path to the kubeconfig file")    config, errConfig := clientcmd.BuildConfigFromFlags("", *kubeconfig)    if errConfig != nil {        glog.Errorf("get kubetnetes config failed %#v\n",errConfig)        return kubeClient, errConfig    }    kubeClient, err = kubernetes.NewForConfig(config)    if err != nil {        glog.Errorf("get kubernetes client failed %#v\n",err)        return kubeClient, err    }    return kubeClient, nil}

config 文件的内容是通过执行kubectl config view得到的
完毕


**

以下跟kubetnetes 无关

**

安装glide

go get github.com/Masterminds/glide

运行

make build

将执行文件放到环境变量的路径($GOROOT/bin)当中

项目目录结构

- $GOPATH/src/myProject (Your project)  |  |-- glide.yaml  |  |-- glide.lock  |  |-- main.go (Your main go code can live here)  |  |-- mySubpackage (You can create your own subpackages, too)  |    |  |    |-- foo.go  |  |-- vendor       |-- github.com            |            |-- Masterminds                  |                  |-- ... etc.

使用例子

$ glide init                    # 初始化项目$ vim glide.yaml                # 编辑配置$ glide install                 # 下载依赖包和依赖包所需的依赖

示例:

  package: query_usable_account/query_usable_account  import:  - package: github.com/go-sql-driver/mysql    version: v1.3  ignore:  - appengine 
  • 添加新的依赖包
    可以手动修改glide.yaml文件或者使用glide get,如

glide get github.com/satori/go.uuid#v1.0.0

  • 代码仓库中加入glide.yaml和glide.lock文件,被所有成员共享,vendor目录可以忽略
原创粉丝点击