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

wx网站开发WordPress文章分栏置顶

wx网站开发,WordPress文章分栏置顶,WordPress怎么添加模板,网站备案为什么要关闭用 Helm 来简化 K8s 应用管理 1.诞生背景2.主要功能3.相关概念4.工作原理5.架构演变6.Helm 常用命令7.推荐仓库8.Charts8.1 目录结构8.2 构建一个无状态应用模版 charts Helm 对于 Kubernetes 来说就相当于 Yum 对于 Centos 来说#xff0c;如果没有 Yum 的话#xff0c;我们… 用 Helm 来简化 K8s 应用管理 1.诞生背景2.主要功能3.相关概念4.工作原理5.架构演变6.Helm 常用命令7.推荐仓库8.Charts8.1 目录结构8.2 构建一个无状态应用模版 charts Helm 对于 Kubernetes 来说就相当于 Yum 对于 Centos 来说如果没有 Yum 的话我们在 Centos 下面要安装一些应用程序是极度麻烦的同样的对于越来越复杂的 Kubernetes 应用程序来说如果单纯依靠我们去手动维护应用程序的 YAML 资源清单文件来说成本也是巨大的。 Helm 是 Deis 开发的一个用于 Kubernetes 的 包管理器。每个包称为一个 Chart一个 Chart 是一个目录一般情况下会将目录进行打包压缩形成 name-version.tgz 格式的单一文件方便传输和存储。 对于应用发布者而言可以通过 Helm 打包应用管理应用依赖关系管理应用版本并发布应用到软件仓库。 除此以外Helm 还提供了 Kubernetes 上的软件部署删除升级回滚应用的强大功能。 1.诞生背景 K8s 是一个分布式的容器集群管理系统它将集群中的所有资源都抽象成 API 对象并且使用声明的方式来创建、修改、删除这些对象。在微服务盛行的今天如果使用这种方式将导致大量 API 声明文件的编写维护使运维工作量爆发式增长并且对每个微服务应用都需要编写对应的 YAML 配置文件极容易出错维护困难。Helm 就是为解决这些问题而诞生的。 在云Kubernetes上部署一个应用往往不是那么简单。如果想要部署一个应用程序到云上首先要准备好它所需要的环境打包成 Docker 镜像进而把镜像放在 部署文件Deployment中配置 服务Service、应用所需的 账户ServiceAccount及 权限Role、命名空间Namespace、密钥信息Secret、可持久化存储PersistentVolumes等资源。也就是编写一系列互相相关的 YAML 配置文件将它们部署在 Kubernetes 集群上。 即便应用的开发者可以把这些 Docker 镜像存放在公共仓库中并且将所需的 YAML 资源文件提供给用户用户仍然需要自己去寻找这些资源文件并把它们一一部署。倘若用户希望修改开发者提供的默认资源比如使用更多的 副本Replicas或是修改服务 端口Port他还需要自己去查需要在这些资源文件的哪些地方修改更不用提版本变更与维护会给开发者和用户造成多少麻烦了。 2.主要功能 Helm 主要功能如下 查找要安装和使用的预打包软件Chart轻松创建和托管自己的软件包将软件包安装到任何 K8s 集群中查询集群已安装和正在运行的程序包更新、删除、回滚或查看已安装软件包的历史记录 从使用方角度看 应用发布者可以通过 Helm 打包应用管理应用依赖关系管理应用版本并发布应用到软件仓库。Helm 还提供了 Kubernetes 上的软件部署删除升级回滚应用的强大功能。使用者使用 Helm 后不用需要了解 Kubernetes 的 Yaml 语法并编写应用部署文件可以通过 Helm 下载并在 Kubernetes 上安装需要的应用。 3.相关概念 概念 解释 HelmHelm 是一个命令行下的客户端工具。主要用于 Kubernetes 应用程序 Chart 的创建、打包、发布以及创建和管理本地和远程的 Chart 仓库。TillerV2Tiller 是 Helm 的服务端部署在 Kubernetes 集群中。Tiller 用于接收 Helm 的请求并根据 Chart 生成 Kubernetes 的部署文件Helm 称为 Release然后提交给 Kubernetes 创建应用。Tiller 还提供了 Release 的升级、删除、回滚等一系列功能。ChartHelm 的软件包采用 TAR 格式。类似于 APT 的 DEB 包或者 YUM 的 RPM 包其包含了一组定义 Kubernetes 资源相关的 YAML 文件。Chart 有特定的文件目录结构如果开发者想自定义一个新的 Chart只需要使用 Helm create 命令生成一个目录结构即可进行开发。RepoistoryHelm 的软件仓库Repository 本质上是一个 Web 服务器该服务器保存了一系列的 Chart 软件包以供用户下载并且提供了一个该 Repository 的 Chart 包的清单文件以供查询。Helm 可以同时管理多个不同的 Repository 官方仓库的地址是https://hub.helm.sh。Release使用 helm install 命令在 Kubernetes 集群中部署的 Chart 称为 Release。是运行在 Kubernetes 集群中的 chart 的实例一个 chart 通常可以在同一个集群中安装多次。每一次安装都会创建一个新的 release。以 MySQL chart 为例如果你想在你的集群中运行两个数据库你可以安装该 chart 两次。每一个数据库都会拥有它自己的 release 和 release name。 4.工作原理 Chart Install 过程 Helm 从指定的目录或者 tgz 文件中解析出 Chart 结构信息Helm 将指定的 Chart 结构和 Values 信息通过 gRPC 传递给 TillerTiller 根据 Chart 和 Values 生成一个 ReleaseTiller 将 Release 发送给 Kubernetes 用于生成 Release Chart Update 过程 Helm 从指定的目录或者 tgz 文件中解析出 Chart 结构信息Helm 将要更新的 Release 的名称和 Chart 结构Values 信息传递给 TillerTiller 生成 Release 并更新指定名称的 Release 的 HistoryTiller 将 Release 发送给 Kubernetes 用于更新 Release Chart Rollback 过程 Helm 将要回滚的 Release 的名称传递给 TillerTiller 根据 Release 的名称查找 HistoryTiller 从 History 中获取上一个 ReleaseTiller 将上一个 Release 发送给 Kubernetes 用于替换当前 Release 5.架构演变 在 2019 年 11 月 4 日Helm 社区 repo 中提供安全审计报告 Helm v3 中的访问控制与 Helm v2 中的访问控制发生变更。 移除 Tiller支持将 Chart 推送至 Docker 镜像仓库中使用 JSONSchema 验证 chart values给 helm charts 添加 test 了通过 helm test 命令针对部署的应用跑 tests部署时 release name 必须指定helm2 时可自动随机生成删除时无须再使用 –purge为了更好地协调其他包管理者的措辞 Helm CLI 个别更名helm delete 更名为 helm uninstallhelm inspect 更名为 helm showhelm fetch 更名为 helm pull不再需要 requirements.yaml依赖关系是直接在 chart.yaml 中定义移除了用于本地临时搭建 Chart Repository 的 helm serve 命令 6.Helm 常用命令 命令 描述 create创建一个 chart 并指定名字dependency管理 chart 依赖get下载一个 release。可用子命令all、hooks、manifest、notes、valueshistory获取 release 历史install安装一个 chartlist列出 releasepackage将 chart 目录打包到 chart 存档文件中pull从远程仓库中下载 chart 并解压到本地helm pull stable/mysql --untarrepo添加、列出、移除、更新和索引 chart 仓库。可用子命令add、index、list、remove、updaterollback从之前版本回滚search根据关键字搜索 chart。可用子命令hub、reposhow查看 chart 详细信息。可用子命令all、chart、readme、valuesstatus显示已命名版本的状态template本地呈现模板uninstall卸载一个 releaseupgrade更新一个 releaseversion查看 helm 客户端版本 7.推荐仓库 难免需要安装一些三方的基础服务常用仓库如下 bitnami 官方地址https://bitnami.com/微软仓库http://mirror.azure.cn/kubernetes/charts/阿里云仓库https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts官方仓库https://hub.kubeapps.com/charts/incubatorelasticsearchhttps://helm.elastic.co 添加微软仓库为 stable $ helm repo add stable http://mirror.azure.cn/kubernetes/charts stable has been added to your repositories添加阿里云仓库为 aliyun $ helm repo add aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts aliyun has been added to your repositories查看本地已添加的仓库 $ helm repo list NAME URL stable http://mirror.azure.cn/kubernetes/charts aliyun https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts查看仓库所有的包 $ helm search repo stable移除仓库 $ helm repo remove stable列出仓库中相关的包 $ helm search repo mysql8.Charts 8.1 目录结构 demochart/ ├── charts # 目录用于存放所依赖的子chart ├── Chart.yaml # 描述这个 Chart 的相关信息、包括名字、描述信息、版本等 ├── templates # 模板目录通常会使用values.yaml配置内容进行填充板引擎渲染此目录的文件后Tiller将渲染得到的结果 提交给Kubernetes创建响应的对象 │ ├── deployment.yaml # deployment 控制器的 Go 模板文件 │ ├── _helpers.tpl # 模板助手文件定义的值可在模板中使用 │ ├── ingress.yaml # ingress 的模板文件 │ ├── NOTES.txt # Chart 部署到集群后的一些信息例如如何使用、列出缺省值可以理解为帮助文档 │ ├── serviceaccount.yaml │ ├── service.yaml # service 的 Go 模板文件 └── values.yaml # 模板的值文件这些值会在安装时应用到 GO 模板生成部署文件Chart.yaml 的模板及注释如下 apiVersion: chart API 版本 必需 #必须有 name: chart名称 必需 # 必须有 version: 语义化2 版本必需 # 必须有kubeVersion: 兼容Kubernetes版本的语义化版本可选 description: 一句话对这个项目的描述可选 type: chart类型 可选 keywords:- 关于项目的一组关键字可选 home: 项目home页面的URL 可选 sources:- 项目源码的URL列表可选 dependencies: # chart 必要条件列表 可选- name: chart名称 (nginx)version: chart版本 (1.2.3)repository: 可选仓库URL (https://example.com/charts) 或别名 (repo-name)condition: 可选 解析为布尔值的yaml路径用于启用/禁用chart (e.g. subchart1.enabled )tags: # 可选- 用于一次启用/禁用 一组chart的tagimport-values: # 可选- ImportValue 保存源值到导入父键的映射。每项可以是字符串或者一对子/父列表项alias: 可选 chart中使用的别名。当你要多次添加相同的chart时会很有用maintainers: # 可选 # 可能用到- name: 维护者名字 每个维护者都需要email: 维护者邮箱 每个维护者可选url: 维护者URL 每个维护者可选icon: 用做icon的SVG或PNG图片URL 可选 appVersion: 包含的应用版本可选。不需要是语义化建议使用引号 deprecated: 不被推荐的chart 可选布尔值 annotations:example: 按名称输入的批注列表 可选.values.yaml 包含应用程序的默认配置值举例 image:repository: nginxtag: 1.19.8在模板templates中引入 values.yaml 里的配置在模板文件中可以通过 .VAlues 对象访问到例如 apiVersion: apps/v1 kind: Deployment metadata:name: nginx-helm-{{ .Values.image.repository }} spec:replicas: 1selector:matchLabels:app: nginx-helmtemplate:metadata:labels:app: nginx-helmspec:containers:- name: nginx-helmimage: {{ .Values.image.repository }}:{{ .Values.image.tag }}ports:- containerPort: 80protocol: TCP8.2 构建一个无状态应用模版 charts 目录结构 $ tree demochart/ demochart/ ├── charts ├── Chart.yaml ├── templates │ ├── deployment.yaml └── values.yamlChart.yaml apiVersion: v2 name: demochart description: A Helm chart for Kubernetes, The author is Daizhe type: application version: 0.1.0 appVersion: 1.16.0templates/deployment.yaml $ vim templates/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:labels:app: deploymentname: {{ .Values.Name }} spec:replicas: {{ .Values.replicas }}selector:matchLabels:app: deploymenttemplate:metadata:labels:app: deploymentspec:containers:- image: {{ .Values.image }}name: nginxvalues.yaml Name: demo-deploy-nginx replicas: 1 image: nginx:latestinstall 安装 $ helm install nginx-dep demochart/ --dry-run $ helm install nginx-dep demochart/ $ helm listupgrade 升级 $ helm upgrade -f values.yaml nginx-dep demochartrollback 回滚 $ helm history nginx-dep $ helm rollback nginx-dep 1
http://www.zqtcl.cn/news/133717/

相关文章:

  • 网站设计遇到难题wordpress qq 微博
  • 网站模板种类长沙seo推广优化
  • 郑州网络建站公司wordpress安装及配置
  • 福州移动网站建设公司注册地址怎么写
  • 网站线上投票怎样做做铁艺需要什么网站
  • 襄阳营销型网站建设网站开发语言排行榜
  • 网站架构演变流程淄博亿泰
  • 电子商务网站功能介绍招商网站建设
  • 哈尔滨模板网站建站市场监督管理局12315
  • 做网站图片处理问题淘宝客推广
  • 科目一速成网站建设适合网络科技的公司名字
  • 解决网站兼容性问题网站关于我们怎么做
  • 网站建设教学视频百度云盘wap什么意思网络语言
  • 做psd模板下载网站搜索网站哪个好
  • 企业排名重庆网站seo优化
  • 怎么做免费域名网站永兴网站建设
  • 网站seo新手台州公司网站外包
  • html简单网站成品免费网站编辑属于什么行业
  • 装修网站设计平台景区网站建设策划案
  • 哪些网站布局设计做的比较好的商洛市城乡建设规划局网站
  • dw中旅游网站怎么做简单大气网站源码
  • 物流网站建设模板黄页网站推广app免费下载
  • iis添加网站的物理路径有资源的公众号
  • 答建设网站建网站的设备
  • 网站新闻专题怎么做python 做网站 用哪个框架好
  • 聊城做网站做的不错的网页链接打不开
  • 网站建设遇到的问题wordpress首页布局修改
  • 网站上传 404小猫mip网站建设
  • 网站的运营长春seo外包
  • 成都 网站制作购物网站建设包括哪些