当前位置: 首页 > news >正文

镇江网站建设介绍网站建设 建议

镇江网站建设介绍,网站建设 建议,网站开发市场成本,建筑模板尺寸及价格Helm高级技术 这部分解释说明了使用Helm的各种高级特性和技术。这部分旨在为Helm的高级用户提供高度自定义和操作chart及发布的信息。每个高级特性都会有它自己的权衡利弊#xff0c; 因此每个使用它们的都要有Helm的深度知识并小心使用。或者换言之#xff0c;谨记 Peter Pa…Helm高级技术 这部分解释说明了使用Helm的各种高级特性和技术。这部分旨在为Helm的高级用户提供高度自定义和操作chart及发布的信息。每个高级特性都会有它自己的权衡利弊 因此每个使用它们的都要有Helm的深度知识并小心使用。或者换言之谨记 Peter Parker 原则 https://en.wikipedia.org/wiki/With_great_power_comes_great_responsibility 后置渲染 后置渲染允许在通过Helm安装chart之前手动使用、配置或者验证渲染的manifest。这允许有高级配置需求的用户可以使用诸如kustomize来配置更改 而不需要fork一个公共chart或要求chart维护人员为每个软件指定每个最新的配置项。这里同样有一些示例用来在企业环境中注入常用工具和sidecar或者在部署前对manifest进行分析。 前置条件 Helm 3.1 使用 后置渲染器是在STDIN能够接受渲染后的Kubernetes manifest并能在STDOUT返回有效的Kubernetes manifest可以是任意可执行文件。它应该在出现失败事件时返回非0退出码。这是两个组件之间的唯一API。允许在你的后置渲染过程中有很好的灵活性。 后置渲染器可以和install、update以及template一起使用。使用后置渲染器时使用--post-renderer参数并指定要使用的渲染器可执行文件的路径 $ helm install mychart stable/wordpress --post-renderer ./path/to/executable $ helm install mychart stable/wordpress --post-renderer ./path/to/executable 如果路径中不包含任何分隔符就会在$PATH中搜索否则就会把相对路径转换成全路径。 如果需要使用多个后置渲染器在一个脚本中调用它们或者在构建任何二进制工具时调用它们。在bash中就像renderer1 | renderer 2 | renderer 3 一样简单。 您可以在 这里 查看作为一个后置渲染器使用kustomize的示例。 https://github.com/thomastaylor312/advanced-helm-demos/tree/master/post-render 警告 在使用后置渲染器时以下这些事需要注意使用后置渲染器时最重要的是所有人在修改版本时必须使用同样的渲染器来保证可重复的构建。这个功能是专门为允许任何用户切换他们正在使用或停止使用的渲染器而构建的但是这个应该谨慎操作以避免意外修改或数据丢失。 另一个重要的注意事项就是安全如果您正在使用一个后置渲染器要保证它来自同一个可信源对于其他任意可执行文件也是如此。不推荐使用不可靠的或者未核实的可访问所有渲染器模板的渲染器渲染器模板经常会包含隐私数据。 自定义后置渲染 使用Go SDK时后置渲染器甚至可以提供更多的灵活性。任意后置渲染器只需要执行下面的Go接口 type PostRenderer interface { Run(rendererManifests *bytes.Buffer) (modifiedManifests *bytes.Buffer, err error) } type PostRenderer interface {// Run expects a single buffer filled with Helm rendered manifests. It// expects the modified results to be returned on a separate buffer or an// error if there was an issue or failure while running the post render stepRun(renderedManifests *bytes.Buffer) (modifiedManifests *bytes.Buffer, err error) } 有关Go SDK的更多信息请查看Go SDK部分 Helm | Helm高级技术 Go SDK Helm 3首次发布了完全重组的Go SDK以便在构建利用Helm的软件和工具时有更好的体验。完整的文档可以在 https://pkg.go.dev/helm.sh/helm/v3 查看下面将要简要介绍一些常用的软件包和一个简单的示例。 helm module - helm.sh/helm/v3 - Go Packages 包概览 对每个最常用的包的简要说明列表 1、pkg/action包含执行Helm操作的主要客户端。和CLI处理过程中使用的是同一个包。如果您仅仅需要执行来自另一个Go程序的最基本的Helm命令这个包会很适合您 2、pkg/{chart,chartutil}加载和控制chart时使用的方法和帮助内容 3、pkg/release定义了Release对象和状态值 显然除了这些还有更多的包查看SDK文档获取更多内容 简要示例 这是一个使用Go SDK的helm list的简单示例 package main import ( logs os helm.sh/helm/v3/pkg/action helm.sh/helm/v3/pkg/cli ) func main() { settings : cli.New() actionConfig :new(action.Configuration) if err : actinConfig.Init(settings.RESTClientGetter(), settings.Namespace(), os.Getenv(HELM_DRIVERF), log.Printf); err ! nil{ log.Printf(%v, err) os.Exit(1) } client : action.NewList(actionConfig) client.Deploymentd true results.err : client.Run() if err !- nil { log.Printf(%v, err) os.Exit(1) } for _, rel : range results { log.Printf(%v, rel) } } package mainimport (logoshelm.sh/helm/v3/pkg/actionhelm.sh/helm/v3/pkg/cli )func main() {settings : cli.New()actionConfig : new(action.Configuration)// You can pass an empty string instead of settings.Namespace() to list// all namespacesif err : actionConfig.Init(settings.RESTClientGetter(), settings.Namespace(), os.Getenv(HELM_DRIVER), log.Printf); err ! nil {log.Printf(%v, err)os.Exit(1)}client : action.NewList(actionConfig)// Only list deployedclient.Deployed trueresults, err : client.Run()if err ! nil {log.Printf(%v, err)os.Exit(1)}for _, rel : range results {log.Printf(%v, rel)} } 后端存储 Helm 3改变了存储命令空间版本密钥的默认版本信息。Helm 2默认将版本信息作为ConfigMap存储在Tiller实例中。下面小节部分会演示如果配置不同的后端。配置是基于HELM_DRIVER环境变量。它会被设置成这几个值其中之一[configmap, secret, sql]。 ConfigMap后端存储 要使ConfigMap后端生效您需要在configmap设置环境变量HELM_DRIVER。 您可以在shell中类似下面这样设置 export HELM_DRIVERconfigmap export HELM_DRIVERconfigmap 如果您想从默认后端切到ConfigMap后端您必须自己进行迁移。您可以使用以下命令找回版本信息 kubectl get secret --all-namespaces -l ownerhelm kubectl get secret --all-namespaces -l ownerhelm 产品说明发布信息包含chart和values文件内容因此可能包含敏感数据比如密码私钥和其他认证需要防止未经授权访问。管理Kubernetes授权时使用 RBAC 当限制访问私密资源时它可能会授予ConfigMap资源广泛的访问权限。对于实例默认的 面向用户角色 “视图”授予大多资源的访问权限但是不允许访问私密数据。此外私密数据会针对于 加密存储 进行配置。切换到ConfigMap后端时要记得这一点因为它可能会暴露您应用程序的敏感数据。 Using RBAC Authorization | Kubernetes Using RBAC Authorization | Kubernetes Encrypting Confidential Data at Rest | Kubernetes SQL后台存储 这是个beta版本SQL存储后端在SQL数据库中存储了版本信息。 如果您的版本信息内容超过1MB这种存储后端会特别有用在这种场景中它无法存储在ConfigMaps/Secrets中因为Kubernetes内部的etcd key-values存储有限制。 要启用SQL后端您需要部署SQL数据库并设置环境变量HELM_DRIVER到sql。DB的细节用环境变量HELM_DRIVER_SQL_CONNECTION_STRING设置。 您可以在shell中设置如下 export HELM_DRIVERsql export HELM_DRIVER_SQL_CONNECTION_STRINGpostgresql://helm-postgres:5432/helm?userhelmpasswordchangeme export HELM_DRIVERsql export HELM_DRIVER_SQL_CONNECTION_STRINGpostgresql://helm-postgres:5432/helm?userhelmpasswordchangeme 注意目前只支持PostgreSQL。 产品说明建议如下 1、确保您的数据库产品可以使用。对于PostgreSQL请参考Server Administration 文档了解更多细节内容 PostgreSQL: Documentation: 12: Part III. Server Administration 2、为版本信息启用 权限管理 镜像到Kubernetes RBAC Helm | SQL存储后端的权限管理 如果您想从默认后端切到SQL后端您必须自己完成迁移您可以使用以下命令找回版本新信息 kubectl get secret --all-namespace -l owner-helm kubectl get secret --all-namespaces -l ownerhelm ———————————— 仅用于本人学习 来源Helm | Docs
http://www.hkea.cn/news/14330618/

相关文章:

  • 国外网站发展建设长春搜索排名公司
  • 呼图壁网站建设培训机构网络推广方案
  • 手机网站优化排名首页wordpress付款
  • 10_10_微信里网站怎么做的单页网站制作工具
  • 论坛网站推广方案做网站模板的海报尺寸多少
  • 网站建设营销型网站概念做专利网站的重要点
  • 服装平台网站有哪些重庆品牌营销型网站建设
  • 找人建设网站网站建设实训报告意见和建议
  • wordpress models庆云网站seo
  • 万网域名网站建设个人企业网站怎么建设
  • 南康网站制作海口cms建站系统
  • 云南建网站工程找队伍信息网
  • 大鹏外贸网站建设呼和浩特做网站的
  • 山东建设工程上传原件的网站企业网站建设方案 完整版
  • 在哪查找网站的建设者西部数码WordPress开启伪静态
  • 微信分销网站建设多少钱单屏网站设计
  • 如何做招聘网站统计表短故事网站模板
  • 柳市做公司网站saas小程序开发费用
  • 网站建设岗位职责怎么写成都工商注册
  • 网站搭建app可以做软件的网站有哪些功能吗
  • 网页制作与网站建设完全学习手册pdfpython培训学校
  • 网站开发资料现在出入邯郸最新规定
  • 网站地图怎么设置企业网页制作方案
  • 谁做视频网站商城网站建设公司招聘
  • 宁波象山网站建设网站制作与网页制作
  • 建设英文版网站网站设计属于什么分类号
  • 招投标网站开发公司seo短视频网页入口引流网站推荐
  • 热点新闻深圳网站优化运营
  • 沧州兼职网站建设保险平台有哪些
  • 广东网站开发需要多少钱网站ip改变 备案