Helm

前端部署演化史

ⅰ亾dé卋堺 提交于 2021-01-09 11:13:36
前端一说起刀耕火种,那肯定紧随着前端工程化这一话题。随着 react / vue / angular , es6+ , webpack , babel , typescript 以及 node 的发展,前端已经在逐渐替代过去 script 引 cdn 开发的方式了,掀起了工程化这一大浪潮。得益于工程化的发展与开源社区的良好生态,前端应用的可用性与效率得到了很大提高。 前端以前是刀耕火种,那前端应用部署在以前也是刀耕火种。那前端应用部署的发展得益于什么,随前端工程化带来的副产品? 这只是一部分,而更重要的原因是 devops 的崛起。 为了更清晰地理解前端部署的发展史,了解部署时运维和前端(或者更广泛地说,业务开发人员)的职责划分,当每次前端部署发生改变时,可以思考两个问题 缓存,前端应用中http 的 response header 由谁来配?得益于工程化发展,可以对打包后得到带有 hash 值的文件可以做永久缓存 跨域, /api 的代理配置由谁来配?在开发环境前端可以开个小服务,启用 webpack-dev-server 配置跨域,那生产环境呢 这两个问题都是前端面试时的高频问题,但话语权是否掌握在前端手里 时间来到 React 刚刚发展起来的这一年,这时已经使用 React 开发应用,使用 webpack 来打包。但是前端部署,仍是刀耕火种 刀耕火种 一台跳板机

CNCF云原生景观的初学者指南

梦想的初衷 提交于 2021-01-06 20:58:52
这个博客最初是由 Ayrat Khayretdinov 在CloudOps博客上发布 云原生景观可能会很复杂和混乱。无数的开源项目都得到了一个充满活力和广阔社区的持续贡献的支持。云原生计算基金会(CNCF)有一幅景观图,展示了云原生解决方案的全部范围,其中许多都在他们的保护伞下。 作为CNCF大使,我积极致力于在加拿大各地推广社区活动和云原生教育。在CloudOps里,我领导了Docker和Kubernetes的研讨会,提供了云原生技术的介绍,并帮助DevOps团队操作他们的应用程序。 我还组织了Kubernetes和云原生meetup来介绍来自世界各地的演讲者,代表各种项目。它们每季度在蒙特利尔、渥太华、多伦多、基奇纳 - 滑铁卢和魁北克市运营。通过@archyufaor联系我或电邮到CloudOps,了解更多关于成为云原生的信息。 与此同时,我还编写了一个关于云原生景观的初学者指南。我希望它能帮助你理解风景,让你更好地了解如何驾驭它。 CNCF的历史 2014年,谷歌开源了一个名为Borg的内部项目,他们一直在使用它来编排容器。由于没有地方来进行这个项目,谷歌与Linux基金会合作创建了云原生计算基金会(CNCF),这将鼓励Kubernetes和其他云原生解决方案的开发和协作。Borg实现在Go中被重写,重新命名为Kubernetes,并作为初始化项目捐赠。很早就很清楚

Openshift与Kubernetes的区别

谁说我不能喝 提交于 2021-01-01 16:03:37
OpenShift被其供应商——Red Hat称为“ Enterprise Kubernetes”。在本文中,我将描述OpenShift和Kubernetes之间的真正差异。由于Red Hat倾向于将其描述为PaaS,因此常常令人困惑,有时掩盖了 Kubernetes是OpenShift不可或缺的一部分, 并围绕它构建了更多功能这一事实。让我们深入研究一下两者之间的真正区别。 1. OpenShift产品与Kubernetes项目 Kubernetes是一个开源的项目(甚至框架),而OpenShift是一个产品是有多种版本。其中一个称为OKD的OpenShift开源版本。以前它被称为OpenShift Origin,但是Red Hat的一些“聪明”的人想出了这个新名称,它的意思是“推动Red Hat OpenShift的Kubernetes的Origin社区发行版”(?)。但是,让我们暂时忘掉名称,只关注其含义。 有几个: OpenShift Container Platform是一种产品,您可以将其安装在基础设施上,该产品包含订阅附带的付费支持 您需要为集群续订OpenShift订阅,并且随着集群的增长需要支付更多费用 Kubernetes有很多发行版,但这是一个项目,如果出现了故障,您可以主要依靠社区或外部专家(在某些情况下,它们有时可能比Red Hat支持的要好)

Helm v3安装与应用

喜你入骨 提交于 2020-12-23 08:26:46
系统环境 系统版本:CentOS Linux release 7.8.2003 (Core) Docker版本:Docker version 20.10.0, build 7287ab3 Helm 版本:v3.2.3 Kubernetes 版本:v1.17.3 Helm简单说明 有关 Helm V2 和 Helm V3 的架构和使用差异,以及Helm相关基本概念,网上有太多的资源,本文不再多做说明,重点说明下Helm安装与应用。 Helm 用途 做为 Kubernetes 的一个包管理工具,Helm具有如下功能: 创建新的 chart chart 打包成 tgz 格式 上传 chart 到 chart 仓库或从仓库中下载 chart 在Kubernetes集群中安装或卸载 chart 管理用Helm安装的 chart 的发布周期 Helm 重要概念 Helm 有三个重要概念: chart:包含了创建Kubernetes的一个应用实例的必要信息 config:包含了应用发布配置信息 release:是一个 chart 及其配置的一个运行实例 下载并安装 Helm 客户端 访问 Helm Github 下载页面 https://github.com/helm/helm/releases 找到最新的客户端,里面有不同系统下的包,这里我们选择 Linux amd64,然后在 Linux

【原创】kubernetes部署高可用Harbor

江枫思渺然 提交于 2020-12-21 07:52:20
##前言 本文Harbor高可用依照 Harbor官网 部署,主要思路如下,大家可以根据具体情况选择搭建。 部署Postgresql高可用集群。(本文选用Stolon进行管理,请查看文章《 kubernetes下Stolon部署高可用Postgresql 》) 部署redis高可用集群。(本文选用Helm对redis进行高可用部署,请查看文章《 kubernetes部署高可用redis 》,该文以整理好redis编排文件可直接使用) 部署Harbor高可用集群。(本文主要阐述Harbor的高可用部署,为《 kubernetes搭建Harbor无坑及Harbor仓库同步 》补充部分,请先行阅读) ##一、Harbor部署前准备 本文仅说明高可用配置,其余部署请查看《 kubernetes搭建Harbor无坑及Harbor仓库同步 》 ###.安装方式 helm安装 直接使用博主整理好的编排文件安装(通过Helm生成) ####1.helm安装 安装Helm请查看《 kubernetes搭建Harbor无坑及Harbor仓库同步 》,其中包含Helm安装。 #####1.1.下载 harbor-helm git clone https://github.com/goharbor/harbor-helm.git cd XXX/harbor-helm #####1.2.修改value

helm-自定义Charts入门

一笑奈何 提交于 2020-12-20 16:32:44
Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。对于应用发布者而言,可以通过 Helm 打包应用、管理应用依赖关系、管理应用版本并发布应用到软件仓库。 创建Chart 执行 命令 helm create myapp,会创建一个myapp目录 # helm create myapp 查看myapp目录结构 修改配置文件 编辑自描述文件 Chart.yaml , 修改version和appVersion信息 编辑values.yaml配置文件 打包安装chart 检查chart语法正确性 # helm lint myapp 打包自定义的chart # helm package myapp 安装chart # helm install myapp myapp-1.tgz 验证 更新 编辑自描述文件 Chart.yaml , 修改version和appVersion信息 重新打包charts 检查chart语法正确性 # helm lint myapp 打包自定义的chart # helm package myapp 更新chart # helm upgrade myapp myapp-2.tgz 验证 回滚 查看当前版本信息 查看历史版本信息 回滚到指定版本

Kubernetes 弃用 Docker,Artifactory 新版本已经支持 OCI 镜像

醉酒当歌 提交于 2020-12-19 08:16:28
背景 Kubernetes 在 v1.20.0-rc.0版本中弃用了 kubelet中对Docker引擎的支持,对于 dockershim也将在下个版本中弃用。 如何应对? 对于 Kubernetes 的最终用户,此次调整并不会有太大影响,Docker 可以继续构建容器镜像,这些镜像也能够在 Kubernetes 集群中正常运行。 如果不想被 Docker 绑定,可以跟着 Kubernetes 社区的技术栈生态使用 OCI兼容的客户端。 2.1 什么是OCI? OCI(Open Container Initiative)是 Linux 基金会项目为容器设计的标准。它定义了运行容器时所需要遵循的镜像规范和运行时规范。 Docker 是该项目的成员,它使用 OCI 规范,并且扩展了额外的镜像 layout 和不同的运行时行为。 但也就意味着Docker 不再一家独大,遵循该标准的其他实现也可以活跃在 Kubernetes 舞台上,例如 兼容OCI 的运行时 runc,和轻量级的 cri-o,以及以安全著称的 rkt。 OCI 镜像特点: 和 Docker 镜像类似,包含 manifest file, config layer, data layers OCI 的 media type 和 Docker 不同 Artifactory 将 OCI 镜像的media type 存储在

Harbor可靠和高效的云原生制品远程复制

ぃ、小莉子 提交于 2020-12-18 01:21:01
题图摄于巴塞罗那港 注:微信公众号不按照时间排序,请关注“ 亨利笔记 ”,并加 星标 以置顶,以免错过更新。 【编者注】 云原生制品,如镜像、Helm Charts等,在不同环境中传输云原生制品是很常见且重要的操作。Harbor 从 v0.3 开始提供可靠的云原生制品同步功能,很受用户欢迎,并且衍生出各种应用场景。 相关文章: 生产系统中升级 Harbor 的完整流程 用 Go 开发的 Docker 竟然在这个大会上首发 CNCF的中国云原生调查报告 本文内容节选自最新出版的 《 Harbor权威指南》 第 7 章,相关作者为 Harbor 开源项目维护者尹文开,值得 Harbor 用户收藏以备后用。 (目前在当当网满100元减50元的优惠活动中,请抓紧机会购买,点击以下图片即可。) 概述 在日常的开发运维过程中,往往需要同时用到多个Artifact(制品)仓库服务来完成不同的任务,比如开发测试对应一个仓库服务实例,生产环境对应另一个不同的实例,一个 Artifact 经过开发测试后需要从开发仓库推送到生产仓库中;又或者为了提高下载速度,在不同的数据中心搭建多个不同的仓库服务,一个 Artifact 在被推送到其中任意一个仓库后,就会被自动分发到其他数据中心的仓库;并且在构建一个 Artifact 后会将其推送到中心仓库,这个 Artifact 需要被分发到其他仓库服务中以供使用。

EFK(Elasticsearch+Filebeat+Kibana)收集容器日志

风格不统一 提交于 2020-12-12 16:24:46
介绍 Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。 Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。 Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。不仅如此,您还可以使用 Vega 语法来设计独属于您自己的可视化图形。所有这些都利用 Elasticsearch 的完整聚合功能。 Elasticsearch 通常与 Kibana 一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。 EFK架构图: 安装 这里采用helm chart安装 官方地址: https://github.com/elastic/helm-charts 1.安装elasticsearch $ helm fetch elastic/elasticsearch $ kubectl create ns logs $ helm

helm安装

别来无恙 提交于 2020-12-12 13:46:27
helm安装 之前一直在本地安装,下载不下来,找了好多东,方法如下: 1.根据系统下载所需版本 curl - L - o helm - v3 . 2 . 4 - linux - amd64 . tar . gz https: / / file . choerodon . com . cn / kubernetes - helm / v3 . 2 . 4 / helm - v3 . 2 . 4 - linux - amd64 . tar . gz 2.解压压缩包(以linux-amd64为例) tar - zxvf helm - v3 . 2 . 4 - linux - amd64 . tar . gz 3.将文件移动到PATH目录中(以linux-amd64为例) sudo mv linux - amd64 / helm / usr / bin / helm 最后,执行命令,出现以下信息即部署成功 $ helm version version . BuildInfo { Version: "v3.2.4" , GitCommit: "0ad800ef43d3b826f31a5ad8dfbb4fe05d143688" , GitTreeState: "clean" , GoVersion: "go1.13.12" } 来源: oschina 链接: https://my