全部产品
云市场

使用Helm私有仓库

更新时间:2019-05-31 12:22:54

开通Helm私有仓库

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

创建命名空间

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

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

创建命名空间

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

仓库列表

添加Helm仓库

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

复制命令

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

上传Chart包到Helm仓库

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

安装Helm-Push插件

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

准备Chart

  1. $ helm create rdc-chart-demo
  2. Creating rdc-chart-demo

使用Helm Push上传Chart

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

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

char制库

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

Chart详情

部署Chart到Kubernetes集群

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

更新版本索引:

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

查询Chart

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

部署Release实例:

  1. $ helm install 33874-test/rdc-chart-demo
  2. NAME: vocal-billygoat
  3. LAST DEPLOYED: Fri May 31 12:19:13 2019
  4. NAMESPACE: default
  5. STATUS: DEPLOYED
  6. RESOURCES:
  7. ==> v1/Service
  8. NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
  9. vocal-billygoat-rdc-chart-demo ClusterIP 172.19.233.76 <none> 80/TCP 1s
  10. ==> v1beta2/Deployment
  11. NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
  12. vocal-billygoat-rdc-chart-demo 1 1 1 0 1s
  13. ==> v1/Pod(related)
  14. NAME READY STATUS RESTARTS AGE
  15. vocal-billygoat-rdc-chart-demo-6dc7944d84-nfvrg 0/2 Init:0/1 0 0s
  16. NOTES:
  17. 1. Get the application URL by running these commands:
  18. export POD_NAME=$(kubectl get pods --namespace default -l "app=rdc-chart-demo,release=vocal-billygoat" -o jsonpath="{.items[0].metadata.name}")
  19. echo "Visit http://127.0.0.1:8080 to use your application"
  20. kubectl port-forward $POD_NAME 8080:80