阿里云容器服务-高可用Kubernetes部署指南

Kubernetes是非常流行的容器管控技术,为了让Kubernetes可以更深度集成阿里云的计算、存储和网络服务,以提供更佳的性能和网络特性支持,阿里云容器服务团队为Kubernetes提供了基于阿里云服务的CloudProvider插件。

同时,基于阿里云资源编排服务ROS的应用部署能力,阿里云用户可以非常方便的快速部署Kubernetes集群。本文接下来会详细介绍部署过程。

依赖条件

  • 需要事先开通访问控制RAM服务,访问https://ram.console.aliyun.com点击开通服务即可
  • 本次部署所创建的资源均为按量付费,根据阿里云计费要求,现金账户余额不能少于100元

拓扑结构

部署入口

根据使用场景不同,我们提供开发测试和高可用两种Kubernetes集群部署方案。

开发测试集群 高可用集群
单Master节点
可配置Worker节点数
支持按需扩容、缩容
支持按需启动和销毁集群
3个Master节点提供高可用性
可配置Worker节点数
支持按需扩容、缩容
支持按需启动和销毁集群
部署到阿里云 部署到阿里云

部署过程

第一步: 选择部署区域

根据您的实际需要,选择将Kubernetes集群部署到阿里云的那个区域。 确认后点击"下一步"。

第二步: 配置启动参数

  • 栈名,所部署的Kubernetes集群属于一个ROS的栈,栈名称在同一个地域不能重复
  • 创建超时时间,整个部署过程的超时时间,默认60分钟,无需修改
  • 失败回滚,点选失败回滚,如果部署过程中发生不可自动修复性错误,将删除所有已创建资源,反之,已创建资源将被保留,以便问题排查
  • Master节点ECS实例规格,指定Master节点所运行的ECS实例的规格,默认ecs.n1.medium,根据实际需要可以选择更高配置的实例类型,配置不能低于默认规格
  • Worker节点ECS实例规格,指定Worker节点所运行的ECS实例的规格,默认ecs.n1.medium,根据实际需要可以选择更高配置的实例类型,配置不能低于默认规格
  • Worker节点数,指定Worker节点数,默认2,支持后期扩容
  • ECS登陆密码,所创建的ECS实例可通过此密码登陆,请务必牢记密码

这里我们选择创建5个Worker节点,确认以上参数后,点击"创建"按钮,启动部署。

至此,部署请求已提交到资源编排服务,可以通过点击"进入事件列表"进入ROS控制台,通过ROS控制台实时监控部署过程。

注: 一个包含多节点的Kubernetes集群的创建时间会在十几分钟左右。

第三步:部署完成

通过ROS事件列表实时监控部署过程:

通过ROS资源列表查看部署过程所创建的所有资源:

等待部署完成,部署完成后在事件列表中会出现栈创建完成的事件记录:

通过栈概况可以查看部署完成后的输出结果:

通过输出结果中返回的信息,便可以对Kubernetes集群进行使用了,信息包括:

  • AdminGateway: 可以直接通过SSH登录到Master节点,以便对集群进行日常维护
  • APIServer_Intranet: Kubernetes的api server对集群内部提供服务的地址和端口,在高可用版本中,此IP为SLB地址,后端有3台Master提供服务
  • APIServer_Internet: Kubernetes的api server对公网提供服务的地址和端口,可以通过此服务在用户终端使用kubectl等工具管理集群

例如: 通过SSH登录AdminGateway查看集群节点信息:

可以发现,一共有8个节点,包括3个Master节点和我们在参数设置步骤填写的5个Worker节点。

集群扩容和缩容

基于ROS的堆栈更新能力,我们可以根据实际业务需要,对Kubernetes集群的Worker节点进行扩容或者缩容。进入ROS栈列表找到我们所部署的Kubernetes集群,点击"更多",选择"更新堆栈":

点击“更新堆栈”后,会显示部署Kubernetes所使用的编排模板,通过修改模板可以完成非常复杂的集群升级,如果只是进行扩容或者缩容,可以直接点“下一步”跳过。

接下来,会进入参数配置页面,通过修改"Worker节点数"来完成集群扩容或缩容:

点击“更新”按钮后,资源编排服务开始对集群进行相应的扩容或缩容处理。像最开始的部署过程一样,我们可以通过事件列表来实时监控更新过程。

注:

  • 由于升级过程依赖登陆ECS来拷贝配置信息,所以扩容、缩容时填的密码必须和最开始部署集群时填的密码一致
  • 资源编排服务显示栈更新完成后,通过kubectl get node或者dashboard并不能马上看到新增的节点,需要几分钟时间等待节点注册

更多Kubernetes使用帮助请参考:

  • 通过 kubectl 连接 Kubernetes 集群
  • 访问 Kubernetes Web UI
  • 通过 Kubernetes Web UI 管理应用
时间: 2024-09-20 04:25:54

阿里云容器服务-高可用Kubernetes部署指南的相关文章

阿里云容器服务 - 提速云端应用部署与运维

阿里云容器服务 - 提速云端应用部署与运维 阿里云容器服务简介 什么是容器服务 什么是容器 容器服务解决了什么问题 容器服务架构 容器服务使用流程及场景 容器服务 阿里云容器服务(Container Service)是一种高性能可伸缩的容器管理服务.支持一键部署Docker集群,提供便利的基于容器的服务与应用的编排.部署及完整的生命周期管理.提供阿里云Docker镜像加速管理服务,支持基于Git等代码仓库集成.http://www.aliyun.com/product/containerserv

阿里云容器服务新增支持Kubernetes编排系统,性能重大提升

阿里云容器服务提供了面向企业客户的技术能力,为企业应用容器化提供了迁移工具和咨询服务.深度学习.区块链等应用解决方案,以帮助企业优化现有IT投资和加速业务创新. 10月12日云栖大会上,阿里云专有云新版本(飞天专有云敏捷版2.0)宣告了对Kubernetes的支持:日前,公共云容器服务也宣布了开放支持Kubernetes 1.8.1 版本的托管服务,并且成为全球首批通过Kubernetes一致性认证的厂商之一.作为容器编排系统的两大流派, Kubernetes和Swarm的重要性不言而喻.融合了

Docker监控:基于阿里云容器服务构建自己的Docker监控框架

微服务架构通过将一个复杂系统分解成一系列独立开发.部署和运维的服务,提升了整个系统的敏捷性,可以灵活的响应业务和规模的变化.而Docker技术则将服务的部署和环境完全解耦,利用Docker的可移植性和敏捷性,快速交付分布式应用,从而大大提升了部署运维效率.然而大规模分布式微服务应用,也会给系统监控带来新的挑战. 除去分布式应用自身的复杂性,微服务倡导的快速迭代和动态部署都会加剧管控的复杂性.从技术角度来看,传统的监控系统大多是针对物理机或虚拟机设计的,通常使用静态的配置项来建立应用.环境与监控指

利用Docker和阿里云容器服务部署高可用Ghost博客集群

简介 Ghost是一个流行的开源博客平台(Open source blogging platform),基于 Node.js 构建,博客内容默认采用 Markdown 语法书写,给用户提供一种更加纯粹的内容写作与发布平台. Ghost的部署和运维需要一定的Web开发基础,利用Docker技术可以大大简化Ghost的部署和更新.Docker Hub上面也提供了Ghost官方镜像 使用Docker镜像,不懂得Node.Js的同学也可以分分钟在本地或阿里云容器服务上搭建起一个单节点的Ghost博客,但

利用阿里云容器服务实现高可用抢红包应用

红包是春节习俗,原本是讨个吉利的意图.在互联网技术高度发展的今天,用手机抢红包已经成为一种文化.一种生活方式:据支付宝统计的数据显示,2016年2月7日除夕夜,支付宝共四轮"咻一咻"互动平台的总参与次数达到了3245亿次:在21点09分,用户的参与热情达到了顶峰,"咻一咻"峰值一度达到210亿次/分钟. 业务需求催生技术升级,随着红包业务的大众化.普遍化,我们对高可用.可扩展.按需提供服务的技术架构要求越来越高.下面介绍一种基于阿里云容器服务及相关云产品组成的高可用

区块链Hyperledger Fabric在阿里云容器服务Kubernetes中的进阶使用技巧(一)

我们在支持用户在阿里云容器服务Kubernetes集群中使用容器服务区块链Hyperledger Fabric配置部署解决方案.或者使用自建的基于Hyperledger Fabric的区块链方案的过程中,逐渐积累了一些相关的进阶使用经验.技巧和最佳实践,涵盖了系统设计.资源规划.服务使用.错误诊断.运营维护等方面,适用于区块链Hyperledger Fabric应用和方案的开发测试.以及生产部署等用途.这些内容将以系列文章的形式陆续发布并更新,同时欢迎有兴趣.有经验的朋友不吝指正. 利用区块链解

跨入流式计算时代,用不着洪荒之力——在阿里云容器服务上一键部署JStorm

JStorm是阿里巴巴出品的强大的企业级流式计算引擎,跟Apache Strom相比,具有使用方便.性能高.生态丰富等优点,是搭建流式计算平台的优秀选择.更多关于JStorm的介绍,请参考官方网站http://www.jstorm.io/ 但是,部署JStorm依赖于zookeeper.python.JDK等若干个组件,同时还要配置nimbus.supervisor等角色,部署过程比较长.为了简化这一过程,阿里巴巴JStorm团队和容器服务团队合作推出了Docker版的JStorm,可以实现一键

阿里云容器服务体验: 部署 ShellPays 条码支付整合服务平台 -- (一)系统概要与环境准备

此平台系统已在多种计算环境上进行部署,并且投入生产.本文所述方案是为了参与阿里云容器服务公测.如要投入实际使用,需要跟据实际计算环境调整相关参数,并且需要与支付服务机构签订收单协议,比如:支付宝钱包,微信支付等.还会产生阿里云的资源租用费. 系统概要 此平台系统在于帮助用户,快速.低成本.方便的统一接入多种条码支付收单业务.平台系统采用了多种技术手段的整合,比如:动静分离.OSGi.容器服务等.注:系统架构超过了当前所承载业务的需求 环境准备 1. 注册阿里云账号,并创建 AccessKey 创

Python应用容器化(二)----使用阿里云容器服务部署应用

前言 我们曾经在Python程序容器化(一)中介绍了如何将一个克隆版Twitter程序(retwit-py)容器化,并使用docker-compose运行于宿主机上.对于经典的Web程序,处理前端请求的Web服务通常都是可扩展伸缩的.生产环境中,随着访问量的不断增长,需要部署多个Web服务实例,并通过负载均衡统一对外进行服务.本文将会介绍如何使用阿里云容器服务将retwit-py改造为贴近生产环境的系统并部署. 阿里云容器服务 容器服务是一项高性能可扩展的容器管理服务,支持在一组阿里云云服务器上