minikube代码分析与Go语言 - 3
[TOC] minikube代码分析参考博客: minikube 源码分析 下载minikube源码可以从github上下载: git clone git@github.com:kubernetes/minikube.git 编译环境: # 代码下载到任意目录,这里是 /opt/kube/minikube > export GOPATH=~/gol/ # 设置GOPATH环境变量,这里为 ~/gol > mkdir -p ~/gol/src/k8s.io/ # k8s.io这个目录名很重要,minikube的包都是以这个为基础的 > cd ~/gol/src/k8s.io/ > ln -s /opt/kube/minikube/ minikube # 链接到源码目录即可 > make # 通过Makefile编译 CGO_ENABLED=1 go build -tags static_build -ldflags="-X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitCommit=d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitVersion=v1.6.4 -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitTreeState=clean -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.buildDate=2017-07-06T18:19:23Z -X k8s.io/minikube/pkg/version.version=v0.20.0 -X k8s.io/minikube/pkg/version.isoVersion=v0.20.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -s -w -extldflags '-static'" -o ./out/localkube ./cmd/localkube GOBIN=/home/stack/gol//bin go get github.com/jteeuwen/go-bindata/... /home/stack/gol//bin/go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/... CGO_ENABLED=1 GOARCH=amd64 GOOS=linux go build --installsuffix cgo -ldflags="-X k8s.io/minikube/pkg/version.version=v0.20.0 -X k8s.io/minikube/pkg/version.isoVersion=v0.20.0 -X k8s.io/minikube/pkg/version.isoPath=minikube/iso -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitCommit=d6f433224538d4f9ca2f7ae19b252e6fcb66a3ae -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitVersion=v1.6.4 -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.gitTreeState=clean -X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.buildDate=2017-07-06T18:19:23Z" -a -o out/minikube-linux-amd64 k8s.io/minikube/cmd/minikube cp ./out/minikube-linux-amd64 ./out/minikube 输出信息要点:
> ls -lh minikube/out total 267M -rwxrwxr-x 1 stack stack 116M 7月 6 18:33 localkube* -rwxrwxr-x 1 stack stack 76M 7月 6 18:35 minikube* -rwxrwxr-x 1 stack stack 76M 7月 6 18:35 minikube-linux-amd64* 文件
Go项目一览
更新k8s参考文档: > ~/gol/src/k8s.io/minikube # 先进入到 minikube 代码目录 > go get github.com/tools/godep # 需要godep,默认下载到$GOPATH/bin > ./hack/godeps/godep-restore.sh # 下载Kubernetes Go语言简介3 - 数据类型Go的类型分为四类:
type Weekday int const ( Sunday Weekday = iota // 0 Monday // 1 Tuesday // 2 ... Wednesday Thursday Friday Saturday )
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |