云服务器内容精选
-
创建模板实例 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”。 在“我的模板”页签中,单击目标模板下的“安装”。 参照表2设置安装工作负载参数。 表2 安装工作负载参数说明 参数 参数说明 实例名称 新建模板实例名称,命名必须唯一。 命名空间 指定部署的命名空间。 选择版本 选择模板的版本。 配置文件 用户可以导入values.yaml文件,导入后可替换模板包中的values.yaml文件;也可直接在配置框中在线编辑模板参数。 说明: 此处导入的values.yaml文件需符合yaml规范,即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致,否则不会生效。即key不能修改。 单击“添加文件”。 选择对应的values.yaml文件,单击“打开”。 配置完成后,单击“安装”。 在“模板实例”页签下可以查看模板实例的安装情况。
-
创建模板实例 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”。 在“我的模板”页签中,单击目标模板下的“安装”。 参照表2设置安装工作负载参数。 表2 安装工作负载参数说明 参数 参数说明 实例名称 新建模板实例名称,命名必须唯一。 命名空间 指定部署的命名空间。 选择版本 选择模板的版本。 配置文件 用户可以导入values.yaml文件,导入后可替换模板包中的values.yaml文件;也可直接在配置框中在线编辑模板参数。 说明: 此处导入的values.yaml文件需符合yaml规范,即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致,否则不会生效。即key不能修改。 单击“添加文件”。 选择对应的values.yaml文件,单击“打开”。 配置完成后,单击“安装”。 在“模板实例”页签下可以查看模板实例的安装情况。
-
上传模板 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”,在右上角单击“上传模板”。 单击“添加文件”,选中待上传的工作负载包后,单击“上传”。 图1 上传模板包 由于上传模板时创建OBS桶的命名规则由cce-charts-{region}-{domain_name}变为cce-charts-{region}-{domain_id},其中旧命名规则中的domain_name系统会做base64转化并取前63位,如果您在现有命名规则的OBS桶中找不到模板,请在旧命名规则的桶中进行查找。
-
创建模板实例 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”。 在“我的模板”页签中,单击目标模板下的“安装”。 参照表2设置安装工作负载参数。 表2 安装工作负载参数说明 参数 参数说明 实例名称 新建模板实例名称,命名必须唯一。 命名空间 指定部署的命名空间。 选择版本 选择模板的版本。 配置文件 用户可以导入values.yaml文件,导入后可替换模板包中的values.yaml文件;也可直接在配置框中在线编辑模板参数。 说明: 此处导入的values.yaml文件需符合yaml规范,即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致,否则不会生效。即key不能修改。 单击“添加文件”。 选择对应的values.yaml文件,单击“打开”。 配置完成后,单击“安装”。 在“模板实例”页签下可以查看模板实例的安装情况。
-
Helm v2与Helm v3的差异及适配方案 随着Helm v2 发布最终版本Helm 2.17.0,Helm v3 现在已是 Helm 开发者社区支持的唯一标准。为便于管理,建议用户尽快将模板切换至Helm v3格式。 当前社区从Helm v2演进到Helm v3,主要有以下变化: 移除tiller Helm v3 使用更加简单和灵活的架构,移除了 tiller,直接通过kubeconfig连接apiserver,简化安全模块,降低了用户的使用壁垒。 改进了升级策略,采用三路策略合并补丁 Helm v2 使用双路策略合并补丁。在升级过程中,会对比最近一次发布的chart manifest和本次发布的chart manifest的差异,来决定哪些更改会应用到Kubernetes资源中。如果更改是集群外带的(比如通过kubectl edit),则修改不会被Helm识别和考虑。结果就是资源不会回滚到之前的状态。 Helm v3 使用三路策略来合并补丁,Helm在生成一个补丁时,会考虑之前原来的manifest的活动状态。因此,Helm在使用原来的chart manifest生成新补丁时会考虑当前活动状态,并将其与之前原来的 manifest 进行比对,并再比对新的 manifest 是否有改动,并进行自动补全,以此来生成最终的更新补丁。 详情及示例请见Helm官方文档:https://v3.helm.sh/docs/faq/changes_since_helm2 默认存储驱动程序更改为secrets Helm v2 默认情况下使用 ConfigMaps 存储发行信息,而在 Helm v3 中默认使用 Secrets。 发布名称限制在namespace范围内 Helm v2 只使用tiller 的namespace 作为release信息的存储,这样全集群的release名字都不能重复。Helm v3只会在release安装的所在namespace记录对应的信息,这样release名称可在不同命名空间重用。应用和release命名空间一致。 校验方式改变 Helm v3 对模板格式的校验更加严格,如Helm v3 将chart.yaml的apiVersion从v1切换到v2,针对Helm v2的chart.yaml,强要求指定apiVersion为v1。可安装Helm v3客户端后,通过执行helm lint命令校验模板格式是否符合v3规范。 适配方案:根据Helm官方文档 https://helm.sh/docs/topics/charts/适配Helm v3模板,apiVersion字段必填。 废弃crd-install Helm v3删除了crd-install hook, 并用chart中的crds目录替换。需要注意的是,crds目录中的资源只有在release安装时会部署,升级时不会更新,删除时不会卸载crds目录中的资源。若crd已存在,则重复安装不会报错。 适配方案:根据Helm官方文档 https://helm.sh/docs/chart_best_practices/custom_resource_definitions/, 当前可使用crds目录或者将crd定义单独放入chart。考虑到目前不支持使用Helm升级或删除CRD,推荐分隔chart,将CRD定义放入chart中,然后将所有使用该CRD的资源放到另一个 chart中进行管理。 未通过helm创建的资源不强制update,releaes默认不强制升级 Helm v3强制升级逻辑变化,不再是升级失败后走删除重建,而是直接走put更新逻辑。因此当前CCE release升级默认使用非强制更新逻辑,无法通过Patch更新的资源将导致release升级失败。若环境存在同名资源且无Helm V3的归属标记app.kubernetes.io/managed-by: Helm,则会提示资源冲突。 适配方案:删除相关资源,并通过Helm创建。 Release history数量限制更新 为避免release 历史版本无限增加,当前release升级默认只保留最近10个历史版本。 更多变化和详细说明请参见Helm官方文档 Helm v2与Helm v3的区别:https://v3.helm.sh/docs/faq/changes_since_helm2 Helm v2如何迁移到Helm v3:https://helm.sh/docs/topics/v2_v3_migration 父主题: 模板(Helm Chart)
-
安装Helm模板包 您可以使用Helm安装模板包(Chart),在使用Helm命令安装模板包前,您可能需要了解三大概念帮助您更好地使用Helm。 模板包(Chart):模板包中含有Kubernetes应用的资源定义以及大量的配置文件。 仓库(Repository):仓库是用于存放共享模板包的地方,您可以从仓库中下载模板包至本地安装,也可以选择直接在线安装。 实例(Release):实例是Helm在Kubernetes集群中安装模板包后的运行结果。一个模板包通常可以在一个集群中安装多次,每次安装都会创建一个新的实例。以MySQL模板包为例,如果您想在集群中运行两个数据库,可以安装该模板包两次,每一个数据库都会拥有自己的release 和release name。 更多关于Helm命令的使用方法请参见使用Helm。 从Helm官方推荐的仓库Artifact Hub中查找模板包,并配置Helm仓库。 helm repo add {repo_name} {repo_addr} 例如,以WordPress模板包为例: helm repo add bitnami https://charts.bitnami.com/bitnami 使用helm install命令安装模板包。 helm install {release_name} {chart_name} --set key1=val1 例如,以安装WordPress为例,步骤1添加的仓库中WordPress的模板包为bitnami/wordpress,并将实例自定义命名为my-wordpress,同时指定一些配置参数。 helm install my-wordpress bitnami/wordpress \ --set mariadb.primary.persistence.enabled=true \ --set mariadb.primary.persistence.storageClass=csi-disk \ --set mariadb.primary.persistence.size=10Gi \ --set persistence.enabled=false 您可以使用helm show values {chart_name}命令查看模板可配置的选项。例如,查看WordPress的可配置项: helm show values bitnami/wordpress 查看已安装的模板实例。 helm list
-
安装Helm v3 本文以Helm v3.3.0为例进行演示。 如需选择其他合适的版本,请访问https://github.com/helm/helm/releases。 在连接集群的虚拟机上下载Helm客户端。 wget https://get.helm.sh/helm-v3.3.0-linux-amd64.tar.gz 解压Helm包。 tar -xzvf helm-v3.3.0-linux-amd64.tar.gz 将Helm复制到系统path路径下,以下为/usr/local/bin/helm。 mv linux-amd64/helm /usr/local/bin/helm 查看Helm版本。 helm version version.BuildInfo{Version:"v3.3.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
-
转换流程(不使用Helm v3客户端) 在CCE节点上下载helm 2to3 转换插件。 wget https://github.com/helm/helm-2to3/releases/download/v0.10.2/helm-2to3_0.10.2_linux_amd64.tar.gz 解压插件包。 tar -xzvf helm-2to3_0.10.2_linux_amd64.tar.gz 模拟转换。 以test-convert实例为例,执行以下命令进行转换的模拟。若出现以下提示,说明模拟转换成功。 # ./2to3 convert --dry-run --tiller-out-cluster -s configmaps test-convertNOTE: This is in dry-run mode, the following actions will not be executed.Run without --dry-run to take the actions described below:Release "test-convert" will be converted from Helm v2 to Helm v3.[Helm 3] Release "test-convert" will be created.[Helm 3] ReleaseVersion "test-convert.v1" will be created. 执行正式转换。若出现以下提示,说明转换成功。 # ./2to3 convert --tiller-out-cluster -s configmaps test-convertRelease "test-convert" will be converted from Helm v2 to Helm v3.[Helm 3] Release "test-convert" will be created.[Helm 3] ReleaseVersion "test-convert.v1" will be created.[Helm 3] ReleaseVersion "test-convert.v1" created.[Helm 3] Release "test-convert" created.Release "test-convert" was converted successfully from Helm v2 to Helm v3.Note: The v2 release information still remains and should be removed to avoid conflicts with the migrated v3 release.v2 release information should only be removed using `helm 2to3` cleanup and when all releases have been migrated over. 转换完成后进行v2 release资源的清理,同样先进行模拟清理,成功后正式清理v2 release资源。 模拟清理: # ./2to3 cleanup --dry-run --tiller-out-cluster -s configmaps --name test-convertNOTE: This is in dry-run mode, the following actions will not be executed.Run without --dry-run to take the actions described below:WARNING: "Release 'test-convert' Data" will be removed. [Cleanup/confirm] Are you sure you want to cleanup Helm v2 data? [y/N]: yHelm v2 data will be cleaned up.[Helm 2] Release 'test-convert' will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" will be deleted. 正式清理: # ./2to3 cleanup --tiller-out-cluster -s configmaps --name test-convertWARNING: "Release 'test-convert' Data" will be removed. [Cleanup/confirm] Are you sure you want to cleanup Helm v2 data? [y/N]: yHelm v2 data will be cleaned up.[Helm 2] Release 'test-convert' will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" d
-
转换流程(使用Helm v3客户端) 安装Helm v3客户端,参见安装Helm v3。 安装转换插件。 # helm plugin install https://github.com/helm/helm-2to3Downloading and installing helm-2to3 v0.10.2 ...https://github.com/helm/helm-2to3/releases/download/v0.10.2/helm-2to3_0.10.2_linux_amd64.tar.gzInstalled plugin: 2to3 查看已安装的插件,确认插件已安装。 # helm plugin listNAME VERSION DESCRIPTION 2to3 0.10.2 migrate and cleanup Helm v2 configuration and releases in-place to Helm v3 模拟转换。 以test-convert实例为例,执行以下命令进行转换的模拟。若出现以下相关提示,说明模拟转换成功。 # helm 2to3 convert --dry-run --tiller-out-cluster -s configmaps test-convertNOTE: This is in dry-run mode, the following actions will not be executed.Run without --dry-run to take the actions described below:Release "test-convert" will be converted from Helm v2 to Helm v3.[Helm 3] Release "test-convert" will be created.[Helm 3] ReleaseVersion "test-convert.v1" will be created. 执行正式转换。若出现以下提示,说明转换成功。 # helm 2to3 convert --tiller-out-cluster -s configmaps test-convertRelease "test-convert" will be converted from Helm v2 to Helm v3.[Helm 3] Release "test-convert" will be created.[Helm 3] ReleaseVersion "test-convert.v1" will be created.[Helm 3] ReleaseVersion "test-convert.v1" created.[Helm 3] Release "test-convert" created.Release "test-convert" was converted successfully from Helm v2 to Helm v3.Note: The v2 release information still remains and should be removed to avoid conflicts with the migrated v3 release.v2 release information should only be removed using `helm 2to3` cleanup and when all releases have been migrated over. 正式转换成功后,用户可通过helm list查看已转换成功的模板实例。 # helm listNAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSIONtest-convert default 1 2022-08-29 06:56:28.166918487 +0000 UTC deployed test-helmold-1 转换完成后进行V2 release资源的清理,同样先进行模拟清理,成功后正式清理V2 release资源。 模拟清理: # helm 2to3 cleanup --dry-run --tiller-out-cluster -s configmaps --name test-convertNOTE: This is in dry-run mode, the following actions will not be executed.Run without --dry-run to take the actions described below:WARNING: "Release 'test-convert' Data" will be removed. [Cleanup/confirm] Are you sure you want to cleanup Helm v2 data? [y/N]: yHelm v2 data will be cleaned up.[Helm 2] Release 'test-convert' will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" will be deleted. 正式清理: # helm 2to3 cleanup --tiller-out-cluster -s configmaps --name test-convertWARNING: "Release 'test-convert' Data" will be removed. [Cleanup/confirm] Are you sure you want to cleanup Helm v2 data? [y/N]: yHelm v2 data will be cleaned up.[Helm 2] Release 'test-convert' will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" will be deleted.[Helm 2] ReleaseVersion "test-convert.v1" deleted.[Helm 2] Release 'test-convert' deleted.Helm v2 data was cleaned up successfully.
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格