
ndslabs/apiserver本文档描述如何为开发环境运行Labs Workbench API服务器。
根据你的操作系统,按照官方文档安装并启动Minikube。
启动Minikube实例:
minikube start
Workbench依赖带标签的节点。为节点添加标签:
kubectl label nodes minikube ndslabs-role-compute=true
Workbench需要etcd。出于开发目的,你可以通过Docker在本地安装:
docker run --rm -p 4001:4001 -d ndslabs/etcd:2.2.5 /usr/local/bin/etcd \ --bind-addr=0.0.0.0:4001 \ --advertise-client-urls=[***]
安装Go用于开发(假设为Mac OS)
brew install go --cross-compile-common
设置路径:
mkdir $HOME/go
编辑$HOME/.bash_profile:
export GOPATH=$HOME/go export PATH=$PATH:$GOPATH/bin
使配置生效:
. $HOME/.bash_profile
克隆仓库:
mkdir -p $GOPATH/src/github.com/ cd $GOPATH/src/github.com/ git clone [***] cd ndslabs/apiserver
构建本地二进制文件:
./build.sh local
在你的机器上任意位置克隆ndslabs-specs仓库:
git clone [***]
修改apiserver.json以反映本地配置。至少需设置support.email为你的***地址,kubernetes.address为[***],specs.path为上述克隆仓库的位置。
假设minikube和etcd已运行,你可以直接运行apiserver二进制文件:
./build/bin/apiserver-darwin-amd64
安装newman(可能需要sudo):
npm install -g newman
要配置postman环境,编辑postman/workbench.postman_environment.json,将host值设置为localhost:30001,email值设置为你的***地址。
由于API服务器运行在非安全模式,你需要编辑postman/Workbench.postman_collection_local.json,将所有https替换为http。
运行测试:
cd postman newman run --insecure --environment=workbench.postman_environment.json --delay-request=1000 Workbench.postman_collection_local.json
也可以在集群外运行Workbench API服务器。已在MacOS上通过VirtualBox的minikube测试过此方式。
创建文件external-apiserver.yaml,内容如下。注意10.0.2.2是minikube VM的内部地址,可通过minikube ssh和netstat -rn确认:
yamlkind: "Service" apiVersion: "v1" metadata: name: "ndslabs-apiserver" spec: ports: - protocol: "TCP" port: 30001 targetPort: 30001 --- kind: "Endpoints" apiVersion: "v1" metadata: name: "ndslabs-apiserver" subsets: - addresses: - ip: "10.0.2.2" ports: - port: 30001
删除集群内的API服务器并创建此外部服务/端点:
kubectl delete svc ndslabs-apiserver kubectl create -f external-apiserver.yaml




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务