Helm实例
Helm实例对应Helm社区的Helm Release概念,安装Helm模板到集群中,即可产生一个实例。
Helm实例页面展示了用户选择的CCE集群和命名空间内的Helm实例信息。
在集群中安装helm组件
仅集群id以c-开头的老版本集群需要该步骤。集群id为cce-开头的新版CCE集群已经切换到helm v3,故不再需要该步骤。
对于未安装Helm服务端组件的CCE集群,在Helm实例列表页会提示 集群未安装helm。
点击安装按钮会在当前右上角选择的集群中安装Helm的服务端组件(不包含Helm客户端)。
安装完毕后,用户可以通过页面在该集群中使用Helm实例相关功能。
实例列表
当前选择的集群命名空间内没有实例时,显示暂无数据;否则会显示当前集群命名空间内的实例列表。
列表中展示了各个实例的部署状态,来源模板,最后更新时间等信息。
实例详情
点击列表中的实例名称,进入对应实例的详情页面。
详情页面分为以下四个部分:
- 基本信息:包含实例名称,所在集群/命名空间,版本,更新时间,描述等基本信息。
- 资源信息:该实例中包含的kubernetes资源信息。
- 版本:该实例的所有版本,包含历史版本和当前版本。可以查看每个版本的状态和参数,并选择回滚到特定版本。
- 参数:实例当前版本使用的实例参数。选中 查看全部 复选框后,会显示所有参数的值(包含默认值),否则仅显示用户定义的参数。
更新实例
可以在集群列表页面点击对应实例的更新按钮,或者在实例详情页面-参数文本框点击编辑按钮,会弹出参数编辑框,用户可以编辑参数完成后,点击更新按钮更新实例。更新实例操作会产生一个历史版本。
回滚实例
回滚实例,即是将实例参数设置为某个历史版本对应的值。回滚操作会产生一个新版本。
在实例详情页面,点击需要回滚的版本行尾的回滚按钮,确认参数无误后,点击确定即可回滚到指定版本。
通过helm客户端连接集群
由于新版本集群(集群id为cce-开头)和老版本集群(集群id以c-开头)分别对应helm的v3和v2版本,故连接集群使用的客户端版本和具体操作会有所区别。请根据需要连接的集群版本对照下述说明操作。
连接集群id为cce-开头的新版集群
在Helm Github页面下载最新helm客户端。
在访问集群apiserver的环境中,直接通过对应集群的kubeconfig即可连接。
如kubeconfig不在默认路径下(~/.kube/config),通过--kubeconfig
指定kubeconfig文件即可使用。
连接集群id以c-开头的老版本集群
注意: 由于helm v2版本未支持Kubernetes RBAC特性,因此该连接方式无法限制连接者权限,如需要控制集群内权限请勿使用helm客户端操作。
在Helm Github页面下载helm v2.12.3客户端。
由于CCE安装的helm tiller时开启了tls校验,需要指定集群kubeconfig和helm tiller使用的tls证书后方可连接。
tls证书在集群node的文件系统上有保存,可以登录集群node获取。
登录到在集群node后,下载helm客户端和集群kubeconfig,并指定以下env后可以连接集群中的helm tiller进行操作:
export HELM_TLS_ENABLE=true
export HELM_TLS_CA_CERT=/etc/kubernetes/pki/ca.pem
export HELM_TLS_CERT=/etc/kubernetes/pki/admin.pem
export HELM_TLS_KEY=/etc/kubernetes/pki/admin-key.pem
也可以将上述tls证书文件和集群kubeconfig下载到本地后连接集群使用。
常见问题
删除了模板后,集群中以该模板创建的实例还能继续使用吗
删除模板后,从该模板创建的实例将无法进行升级操作。
安装/升级/回滚实例失败,如何进行排查
安装/升级/回滚操作失败时,实例详情页面-基本信息中的描述会展示具体的错误信息,用户可以通过其中的错误信息定位失败原因,进行修正。
我已经在集群自行安装了helm服务端组件,可以直接使用吗
由于CCE安装的Helm组件开启了tls校验,且Helm客户端和服务端间无法跨版本通信,如果用户已经在集群中自行安装了Helm服务端组件(如自行执行了helm init
命令),可能与CCE支持的Helm服务端组件不兼容,需要用户卸载集群中的Helm组件后,重新通过实例列表页面进行安装。