Helm

如何平滑优雅地在Rancher 2.x中升级cert-manager?

ぐ巨炮叔叔 提交于 2019-12-05 10:16:37
作者: Nassos Michas丨European Dynamics SA, CTO 如果你正在使用由Rancher提供的Helm Chart在Rancher管理的Kubernetes集群中安装cert-manager,那么你最近也许收到了Let’s Encrypt发给你的提醒: 在集群中检查cert-manager的日志,你可以看到Let’s Encrypt拒绝更新证书的请求,因为“你的ACME客户端版本过旧,请升级到更新的版本”。那么,我们现在就开始吧! 使用Rancher提供的Helm Chart进行更新 我想你脑海里的第一想法应该和我的类似:使用相关的最新版本的Helm Chart升级cert-manager。大家可以不用考虑这个选项,因为Rancher提供的cert-manager Helm Chart目前最新的是0.5.2版本,所以别想着一键式升级啦! 使用官方Helm Chart升级 参考链接: https://forums.rancher.com/t/update-on-cert-manager-application-in-the-catalog/15598 计划十分简单:只需要将Rancher提供的cert-manager的Helm Chart移除,并使用Helm中由Jetstack维护的chart替换即可。 在开始之前,我们需要保持谨慎。从v0.5

是时候使用Helm了:Helm, Kubernetes的包管理工具

爱⌒轻易说出口 提交于 2019-12-05 08:41:54
目前我们的一个产品共有4套环境:dev环境、test环境、staging环境、production环境。 其中dev, test, staging环境在一个Kubernetes集群上以不同namespace部署,production环境部署在另一个Kubernetes集群上。这个产品总共有14个微服务组成,对应gitlab中14个代码库,Kubernetes的deployment yaml文件也保存在代码库,为每个服务的每套环境以环境名创建了一个目录,里面是yaml文件,yaml文件的内容使用sed实现了简单的模板功能。14个服务*4套环境总共56个yaml文件,比较原始。 最近需要新起另外的一套测试环境这里称它为test2吧,需要在第一个Kubernetes集群上创建新的namespace,要维护的yaml文件马上也要增加到70个,有点噩梦的感觉了。 因此我们需要一个模板工具来管理这些yaml文件。早就知道helm这个东西,但为了保持简单,一直遵循着最少引入新东西的原则,那么现在是时候使用Helm了吧? 1.Helm的基本概念 Helm 是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理。可以把Helm比作CentOS的yum工具。 Helm有如下几个基本概念: Chart: 是Helm管理的安装包,里面包含需要部署的安装包资源

给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践

拈花ヽ惹草 提交于 2019-12-05 07:46:52
作者 | 孙健波(天元) 阿里巴巴技术专家 本文整理自 11 月 21 日社群分享,每月 2 场高质量分享, 点击加入 社群。 早在 2011 年,阿里巴巴内部便开始了应用容器化,当时最开始是基于 LXC 技术构建容器,然后逐渐切换到 Docker,自研了大规模编排调度系统。到了 2018 年,我们团队依托 K8s 体系开始推进“轻量级容器化”,同时投入了工程力量跟开源社区一起解决了诸多规模与性能问题,从而逐步将过去“类虚拟机”的运维链路和阿里巴巴整体应用基础设施架构升级到了云原生技术栈。 到了 2019 年,Kubernetes 基础设施底盘在阿里巴巴经济体中已经覆盖了阿里巴巴方方面面的业务,规模化的接入了包括核心电商、物流、金融、外卖、搜索、计算、AI 等诸多头部互联网场景。这套技术底盘,也逐步成为了阿里巴巴支撑 618、双11 等互联网级大促的主力军之一。 目前,阿里巴巴与蚂蚁金服内部运行了数十个超大规模的 K8s 集群,其中最大的集群约 1 万个机器节点,而其实这还不是能力上限。每个集群都会服务上万个应用。在阿里云 Kubernetes 服务(ACK)上,我们还维护了上万个用户的 K8s 集群,这个规模和其中的技术挑战在全世界也是首屈一指的。 我们的 Kubernetes 面临的新挑战 在规模和性能等基础设施领域问题逐步解决的同时,规模化铺开 Kubernetes 的过程中

详细介绍:Kubernetes1.4版本的新功能

让人想犯罪 __ 提交于 2019-12-05 00:32:42
Kubernetes1.4主要新特性 创建kubernetes集群只需要两条 命令 增强了对有状态应用的支持 增加了集群联盟API 支持容器安全控制 增强包括调度在内的Kubernetes基础架构 通过Kubernetes DashBoard UI已经可以实现90%的 命令 行操作 两条命令创建集群 为了启动Kubernetes,用户需要提供计算节点、安装Kubernetes和启动集群。用户都渴望一种简易、可移植的方法,在任何云(公有云、私有云或裸金属)上部署Kubernetes集群。为此: Kubernetes 1.4引入了kubeadm命令,它将集群启动简化为两条命令,不需要再使用复杂的kube-up 脚本 。一旦Kubernetes被安装,kubeadm init启动master节点,而kubeadm join可以将节点并入集群。 安装过程的流水线化,通过打包Kubernetes和它的依赖,对于 Linux 主要发行版本,包括Ubuntu Xenial和Red Hat的用户可以使用熟悉的apt-get和yum来安装Kubernetes。 附加部署,例如对于一个overlay网络, 使用daemonset方式可以将操作简化为一条命令。 简化这个使用的是新的认证API,它使用kubelet TLS bootstrap,和新的API发现。 增强了对有状态应用的支持

通过Helm在Kubernetes集群上安装IPFS

雨燕双飞 提交于 2019-12-04 08:53:58
通过Helm在Kubernetes集群上安装IPFS Helm ( https://helm.sh/ ) 是用于Kubernetes的应用包管理程序,可以按照定义来安装、启动、停止、删除由多个Docker和Pod组合的服务应用,而且具有回滚等功能。 Helm的后台服务为Tiller,包描述文件称为Chart,是yaml格式,与Docker Compose有类似之处,但可选参数更多。 Helm的Chart可以保存在本地文件、本地Repo、Monocular或者Github等各种文件服务系统之中。 Helm安装方法,参见: https://my.oschina.net/u/2306127/blog/1619818 。 IPFS ( http://ipfs.io/ )可以通过Helm在Kubernetes集群上快速部署和方便地管理。 IPFS在Kubernetes部署的 服务开放 , https://my.oschina.net/u/2306127/blog/1933999 IPFS其它运行方式还有: 可以直接命令行在主机里运行。 通过Docker命令行安装运行( https://my.oschina.net/u/2306127/blog/1613968 )。 通过Docker Compose文件来运行,以及运行于Swarm模式下。 通过Kubernetes的Pod描述yml文件安装(

在 Kubernetes 中通过 Apache Kafka 插件远程处理 Kafka 启动程序

这一生的挚爱 提交于 2019-12-04 03:57:58
本文首发于: Jenkins 中文社区 原文链接 作者:Long Nguyen 译者:wenjunzhangp 我是越南 FPT 大学的 Long Nguyen ,我的 Google Summer of Code 2019 项目是 Remoting over Apache Kafka with Kubernetes features 。这是我第一次为 Jenkins 做贡献,我非常兴奋地宣布在第一阶段已经完成的功能。 项目介绍 当前版本的 Remoting over Apache Kafka plugin 远程处理需要用户手动配置整个系统,包括 zookeeper 、 kafka 和远程处理代理。它也不支持动态代理配置,因此很难实现具有伸缩性的扩展。我的项目旨在解决两个问题: 1. 提供 Apache-Kafka 集群的现成解决方案。 2. Kubernetes 集群中的动态代理配置。 当前状态 支持凭据的 Kubernetes 连接器。 Kubernetes 功能中的 ApacheKafka 预配功能已完全实现。 Helm chart 部分实现。 Kubernetes 中的 Apache-Kafka 配置 此功能是 2.0 版本的一部分,因此尚未正式发布。您可以通过使用 Experimental Update Center 更新到 2.0.0-alpha 版本或直接从

Kubernetes快速部署高可用PostgreSQL

夙愿已清 提交于 2019-12-04 02:26:59
介绍在Kubernetes快速部署高可用PostgreSQL集群的方法,基于Stolon项目的工作。 项目源码: https://github.com/sorintlab/stolon 项目介绍: https://sgotti.me/post/stolon-introduction/ Helm Chart: https://github.com/lwolf/stolon-chart/tree/master/stolon Stolon是由3个部分组成的: keeper:管理PostgreSQL实例,汇聚到由sentinel(s)提供的clusterview。 sentinel:发现并监控keeper,并且计算最理想的clusterview。 proxy:客户端的接入点。它连接到PostgreSQL的master并且强制关闭非选举产生master。 Stolon用etcd或者consul作为主要的集群状态存储,默认使用Kubernetes的存储来保存集群的状态。 第一步,安装Helm chart # 获取项目代码,包含一个Helm Chart及其默认参数。 $ git clone https://github.com/lwolf/stolon-chart # 安装到命名空间stolon,helm chart名称为postgresql。 $ cd stolon-chart $ helm

革命性新特性 | 单一应用跨多Kubernetes集群的部署与管理

好久不见. 提交于 2019-12-03 22:50:09
近日,全球领先的容器管理软件供应商Rancher Labs宣布,其旗舰产品Rancher——开源的企业级Kubernetes管理平台——全面发布的最新版本Rancher 2.2 Preview 2中,正式支持多集群应用程序。 Rancher 至此成为 业界首个支持多集群应用程序的平台 ,为用户提供了业界领先的多集群和边缘计算环境的可靠性、安全性和可用性。 “Rancher 使Kubernetes 的部署和管理变得轻松。多年来,我们不断增加新的功能,比如 RBAC、Project和开箱即用的监控等等,使Rancher越来越简单易用,”Rancher联合创始人及工程副总裁 Will Chan表示:“随着组织内用户和集群数量的增长,比如在边缘计算场景中,跨集群的应用和服务的部署、管理、升级变得异常困难。用户希望既能满足企业日益增长的需求,又能降低使用Kubernetes的复杂性。现在,Rancher对多集群应用程序的支持,正是用户所急需的。” 传统做法 一般云基础设施有多个可用区,可用区之间保证高可用。想要让一个应用完全高可用,就需要让应用部署在不同的可用区上,这样一来,一个可用区失败,另一个可用区可以顶替使用。 对于那些有高可用需求的应用程序而言,想要确保可靠性,它们必须被部署到多个不同的集群。过去的实现方法,便是将节点从其他可用区拉入同一集群。但是,如果集群失败了

Rook 0.8 安装及Dashboard的问题和解决

≡放荡痞女 提交于 2019-12-03 14:33:35
Rook( https://rook.io )已经到了0.8版本,并且进入CNCF的孵化器。Rook是一个容器存储框架,已经率先支持Ceph( http://docs.ceph.org.cn/start/intro/ )分布式文件系统。 这里介绍其安装过程,其中的Ceph Dashboard也已经可以用了,只不过遇到了一些问题,经过网上四处寻觅,也找到了一个暂时的解决办法。 下载项目文件 执行下面的命令来下载Rook项目源码: git clone https://github.com/rook/rook/ cd cluster/examples/kubernetes/ceph 其中cluster下面的charts/rook-ceph是支持helm的安装文件,不过最近几个月没有更新,不建议使用。可以使用cluster/examples/kubernetes/ceph下面的安装文件,更新一些。该目录下的文件包括: cluster.yaml Ceph集群部署,部署到rook-ceph命名空间。 dashboard-external.yaml 信息面板,提供外部服务的NodePort方式访问。 ec-filesystem.yaml ec-storageclass.yaml filesystem.yaml 文件系统支持。 kube-registry.yaml object.yaml 对象存储

如何将现有的应用迁移到Choerodon猪齿鱼(下)

南楼画角 提交于 2019-12-03 11:07:36
本文档将介绍如何将现有的应用迁移到Choerodon猪齿鱼平台。主要分为以下几个部分: 应用环境搭建 数据库迁移 应用迁移 使用Choerodon猪齿鱼 下面将以资产云平台迁移到Choerodon猪齿鱼为例,详细地介绍如何将一个一般应用迁移到Choerodon中,并使用Choerodon作为开发、发布和部署的支撑平台。 注:本手册使用的Choerodon猪齿鱼版本是 0.9版本 。 另外,在根据本文档执行迁移之前,请务必学习Docker、Kubernetes、Helm、Gitlab-CI等知识,尽量熟练掌握。 应用系统环境搭建 Choerodon猪齿鱼平台是一个PaaS平台,其本身不提供应用系统的运行环境,用户需要自主安装Kubernetes集群,一般来说一个应用系统需要有开发环境、测试环境和正式环境(如下图所示),每一个环境都是一个独立的Kubernetes集群。当然用户也可以根据具体的需求来调整,例如开发环境和测试环境共用一套Kubernetes集群。 所以,利用Choerodon猪齿鱼PaaS能力的第一项任务就是搭建应用系统的运行环境。 准备服务器 Choerodon猪齿鱼支持本地化部署,也支持公用云部署。Kubernetes集群的硬件要求与应用系统的要求一致,当然考虑到应用系统已经完全容器化,所以用户可以根据自身需求动态定制Kubernetes集群的规模