用client-go二开kubernetes glide的golang 的包管理
来源:互联网 发布:如何激活windows 编辑:程序博客网 时间:2024/05/23 13:16
1.下载client-go官网地址自行查找,通过go get 或者 git clone 都可以
2.安装minikube
3.执行
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目录可以忽略
阅读全文
0 0
- 用client-go二开kubernetes glide的golang 的包管理
- kubernetes client-go包使用示例
- golang Glide 包管理windows下使用
- 用client-go调用Kubernetes API
- kubernetes client-go
- Golang的包管理、项目管理
- Glide管理Golang项目
- Golang学习之采用Glide进行包管理
- Golang从零开始(二)构建简单的Go项目
- kubernetes源码之watch包mux.go阅读理解二
- Go包管理的前世今生
- Go游戏服务器开发的一些思考(二十二):Godep包管理介绍
- Golang的包依赖管理 (package dependency manager)
- kubernetes--pod的生命周期管理
- glide包管理
- golang如何下载go get不下来(被墙)的第三方包
- Golang的log包哪个好用?
- golang的http client源码简析
- javascript你不知道的This
- ArrayList的toArray
- php实现页面静态化
- [leetcode]66. Plus One(Java)
- 【面试题】剑指offer19--二叉树的镜像
- 用client-go二开kubernetes glide的golang 的包管理
- 生化危机 (深搜 建图)
- linux下VIM的使用(必看)
- HTTP长连接和短连接 + Websocket
- Nginx允许跨域访问的配置问题
- sql行转列
- webstrom自动编译sass文件为css
- 大数据之数仓平台设计思路01
- SDUT-1204 C语言实验——字符编码