构建control plane
准备
环境
- 系统: MacOS
- GO: 1.9.2
- dep: devel
- IDE: Goland
- NodeJs: 6.7.0
- yarn: 1.3.2
GO环境变量
GOPATH的默认会放在$HOME
export GOROOT=/usr/local/go
export GOPATH=/Users/addo/Workspaces/go_w
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
安装dep
brew install dep
Prometheus
允许Prometheus集群外访问
kind: Service
apiVersion: v1
metadata:
name: prometheus-external
namespace: conduit
labels:
app: prometheus
conduit.io/plane: control
annotations:
conduit.io/created-by: "conduit/cli v0.1.0"
spec:
type: NodePort
selector:
app: prometheus
ports:
- name: http
port: 9090
nodePort: 30090
targetPort: 9090
下载源码
cd $GOPATH
mkdir -p src/github.com
git clone [email protected]:runconduit/conduit.git runconduit/conduit
cd src/github.com/runconduit/conduit
dep ensure #会创建一个vendor目录
dep prune
IDE构建
打开Goland, 选择open project到$GOPATH/github.com/runconduit/conduit
CMD+,打开Preference:
- 添加GOROOT (自动添加)
- 添加GOPATH (自动添加)
- 添加ProjectGOPATH:
$GOPATH/github.com/runconduit/conduit/vendor
web
web需要单独构建.
cd web/app
yarn webpack #创建dist目录
运行
- telemetry
文件:
controller/cmd/telemetry/main.go参数:-kubeconfig=/Users/addo/.kube/config -addr=:8087 -metrics-addr=:9997 -prometheus-url=http://192.168.99.100:30090 - destination
文件:
controller/cmd/destination/main.go参数:-kubeconfig=/Users/addo/.kube/config -metrics-addr=:9999 -addr=:8089 - tab
文件:
controller/cmd/tap/main.go参数:-kubeconfig=/Users/addo/.kube/config -metrics-addr=:9998 -addr=:8088 - public-api
文件:
controller/cmd/public-api/main.go参数:-tap-addr=127.0.0.1:8088 -telemetry-addr=127.0.0.1:8087 -metrics-addr=:9995 -addr=:8085 - web
文件:
web/main.go参数:-addr=:8084 -metrics-addr=:9994 -api-addr=localhost:8085 -static-dir=/Users/addo/Workspaces/go_w/src/github.com/runconduit/conduit/web/app/dist -template-dir=/Users/addo/Workspaces/go_w/src/github.com/runconduit/conduit/web/templates -uuid=96e84670-0a7c-4c08-8c13-2c2d988f992e