Skip to content
This repository has been archived by the owner on Aug 13, 2020. It is now read-only.

Latest commit

 

History

History
81 lines (54 loc) · 2.71 KB

chartsvc.md

File metadata and controls

81 lines (54 loc) · 2.71 KB

Chartsvc 开发指南

“chartsvc” 组件是一个微服务, 它创建一个 API 端点来访问在 MongoDB 服务器中的 Helm 图表存储库中图表的元数据。 其源代码保存在 Monocular项目存储库中。

前提条件

环境

export GOPATH=~/gopath
export PATH=$GOPATH/bin:$PATH
export MONOCULAR_DIR=$GOPATH

下载Monocular源代码

git clone https://github.com/helm/monocular $MONOCULAR_DIR

“chartsvc” 源位于 “cmd/chartsvc/” 目录下。

在您的集群中安装 KubeApps Plus

KubeApps Plus 是 Kubernetes 本地应用程序。 要开发和测试 KubeApps Plus 组件, 我们需要一个已安装 KubeApps Plus 的 Kubernetes 集群。 遵循KubeApps Plus安装指南 在您的群集中安装 KubeApps Plus。

建立chartsvc图像

cd $MONOCULAR_DIR
dep ensure
make -C cmd/chartsvc docker-build

这将构建 chartsvc Docker 镜像。

在开发中运行

选项1: 使用网真(推荐)

telepresence --swap-deployment kubeapps-internal-chartsvc --namespace kubeapps-plus --expose 8080:8080 --docker-run --rm -ti quay.io/helmpack/chartsvc/chartsvc --mongo-user=root --mongo-url=kubeapps-mongodb

请注意, 应重新构建Chartsvc, 以使新更改生效。

选项2: 替换 Chartsvc 部署中的图像

注意: 默认情况下, KubeApps Plus 会尝试获取图像的最新版本, 因此为了使此工作流在 Minikube 中正常工作, 您需要首先更新 imagePullPolicy:

kubectl patch deployment kubeapps-internal-chartsvc -n kubeapps-plus --type=json -p='[{"op": "replace", "path": "/spec/template/spec/containers/0/imagePullPolicy", "value": "IfNotPresent"}]'
kubectl set image -n kubeapps-plus deployment kubeapps-internal-chartsvc chartsvc=quay.io/helmpack/chartsvc:latest

为了进一步重新部署, 您可以更改版本以部署不同的标记或重建相同的映像并重新启动Pod执行:

kubectl delete pod -n kubeapps-plus -l app=kubeapps-internal-chartsvc

注意: 如果您使用云提供商来开发服务, 则需要重新标记映像并将其推送到公共注册表。

运行测试

您可以将Chartsvc测试与Monocular项目的测试一起运行:

go test -v ./...