全部产品
云市场

使用Helm私有仓库

更新时间:2019-08-22 10:33:23

开通Helm私有仓库

点击开通私有仓库用户在云效开通私有仓库服务后,会默认打开Helm私有仓库支持

创建命名空间

当前云效每个企业最大命名空间数为5个

进入私有仓库,并进入Helm私有仓库命名空间选项,并点击“创建命名空间”按钮,按照对话框提示输入需要创建的仓库名称。

创建命名空间

创建完成后,云效会自动为当前命名空间生成仓库访问地址,以及独立的用户名/密码

仓库列表

添加Helm仓库

查看操作指南,并复制添加命令以及用户名密码(仓库用户名密码会自动复制到粘贴板)

复制命令

export NAMESPACE=<Your NAMESPACE>
helm repo add $NAMESPACE https://repomanage.rdc.aliyun.com/helm_repositories/$NAMESPACE --username=<Your Username> --password=<Your Password>
helm repo list # 查看已添加的仓库

上传Chart包到Helm仓库

云效Helm私有仓库兼容官方Helm协议,可以使用Helm-Push插件上传Chart

安装Helm-Push插件

helm plugin install https://github.com/chartmuseum/helm-push

准备Chart

$ helm create rdc-chart-demo
Creating rdc-chart-demo

使用Helm Push上传Chart

$ helm push rdc-chart-demo $NAMESPACE
Pushing rdc-chart-demo-0.1.0.tgz to 33874-test...
Done.

查看上传结果,进入云效Helm私有仓库,并进入Chart制库,如下所示:

char制库

查看已上传的Chart实例,在详情中,我们可以查看当前Chart的详细信息以及相应的版本记录:

Chart详情

部署Chart到Kubernetes集群

Chart上传到云效Helm私有仓库之后,用户可以使用Helm命令行工具将Chart部署到Kubernetes集群:

更新版本索引:

$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "33874-test" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈

查询Chart

$ helm search $NAMESPACE
NAME                         CHART VERSION    APP VERSION    DESCRIPTION
33874-test/rdc-chart-demo    0.1.0            1.0            A Helm chart for Kubernetes

部署Release实例:

$ helm install 33874-test/rdc-chart-demo
NAME:   vocal-billygoat
LAST DEPLOYED: Fri May 31 12:19:13 2019
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Service
NAME                            TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)  AGE
vocal-billygoat-rdc-chart-demo  ClusterIP  172.19.233.76  <none>       80/TCP   1s

==> v1beta2/Deployment
NAME                            DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
vocal-billygoat-rdc-chart-demo  1        1        1           0          1s

==> v1/Pod(related)
NAME                                             READY  STATUS    RESTARTS  AGE
vocal-billygoat-rdc-chart-demo-6dc7944d84-nfvrg  0/2    Init:0/1  0         0s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app=rdc-chart-demo,release=vocal-billygoat" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80