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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: Kubernetes是非常流行的容器管控技术,为了让Kubernetes可以更深度集成阿里云的计算、存储和网络服务,以提供更佳的性能和网络特性支持,阿里云容器服务团队为Kubernetes提供了基于阿里云服务的CloudProvider插件。

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

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

依赖条件

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

拓扑结构

k8s_arch

部署入口

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

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

部署过程

第一步: 选择部署区域

chose_region

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

第二步: 配置启动参数

params_1

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

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

submit

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

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

第三步:部署完成

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

events

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

resources

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

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

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

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

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

get_node1

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

集群扩容和缩容

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

update_1

update_2

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

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

update_3_1

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

注:

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

更多Kubernetes使用帮助请参考:

相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
15天前
|
运维 Kubernetes 网络协议
Kubernetes详解(十六)——Pod容器探测
Kubernetes详解(十六)——Pod容器探测
45 1
|
16天前
|
运维 Kubernetes 网络协议
Kubernetes详解(十六)——Pod容器探测
Kubernetes详解(十六)——Pod容器探测
26 0
|
17天前
|
存储 Kubernetes API
使用Kubernetes管理容器化应用的深度解析
【5月更文挑战第20天】本文深度解析Kubernetes在管理容器化应用中的作用。Kubernetes是一个开源平台,用于自动化部署、扩展和管理容器,提供API对象描述应用资源并维持其期望状态。核心组件包括负责集群控制的Master节点(含API Server、Scheduler、Controller Manager和Etcd)和运行Pod的工作节点Node(含Kubelet、Kube-Proxy和容器运行时环境)。
|
9天前
|
弹性计算 Kubernetes 监控
【阿里云弹性计算】阿里云 ECS 与 Kubernetes 集成:轻松管理容器化应用
【5月更文挑战第28天】阿里云ECS与Kubernetes集成,打造强大容器管理平台,简化应用部署,实现弹性扩展和高效资源管理。通过Kubernetes声明式配置在ECS上快速部署,适用于微服务和大规模Web应用。结合监控服务确保安全与性能,未来将深化集成,满足更多业务需求,引领容器化应用管理新趋势。
92 2
|
10天前
|
运维 Prometheus Kubernetes
基于Kubernetes的容器化运维实践
本文将介绍如何在Kubernetes平台上进行容器化运维。首先,我们将了解Kubernetes的基本概念和组件。然后,我们将探讨如何部署和管理应用程序,以及如何使用Kubernetes进行自动化运维。最后,我们将讨论一些最佳实践和常见问题解答。通过阅读本文,您将能够更好地理解Kubernetes在现代IT环境中的重要性,并学会如何有效地利用它来提高运维效率。
|
15天前
|
存储 Kubernetes 监控
容器服务 Kubernetes 版 ACK功能特性
分布式云容器平台ACK One(Distributed Cloud Container Platform for Kubernetes)是阿里云面向混合云、多集群、分布式计算、容灾等场景推出的企业级云原生平台。ACK One可以连接并管理您任何地域、任何基础设施上的Kubernetes集群,并提供一致的管理和社区兼容的API,支持对计算、网络、存储、安全、监控、日志、作业、应用、流量等进行统一运维
47 1
|
15天前
|
存储 运维 分布式计算
分布式云容器平台ACK One概述
分布式云容器平台ACK One概述
35 2
|
16天前
|
Kubernetes 关系型数据库 分布式数据库
【PolarDB开源】PolarDB与Kubernetes集成:容器化部署的最佳实践
【5月更文挑战第21天】本文介绍了将阿里云的高性能数据库PolarDB与容器编排工具Kubernetes集成的步骤。首先,需准备Kubernetes集群和PolarDB Docker镜像,安装Helm。然后,通过Helm部署PolarDB,设置存储类和副本数。接着,应用配置PolarDB连接信息,打包成Docker镜像并在K8s集群中部署。此外,调整PolarDB参数以优化性能,并使用Prometheus和Grafana监控。本文为PolarDB在Kubernetes中的最佳实践提供了指导。
48 4
|
17天前
|
存储 弹性计算 Kubernetes
【阿里云云原生专栏】深入解析阿里云Kubernetes服务ACK:企业级容器编排实战
【5月更文挑战第20天】阿里云ACK是高性能的Kubernetes服务,基于开源Kubernetes并融合VPC、SLB等云资源。它提供强大的集群管理、无缝兼容Kubernetes API、弹性伸缩、安全隔离及监控日志功能。用户可通过控制台或kubectl轻松创建和部署应用,如Nginx。此外,ACK支持自动扩缩容、服务发现、负载均衡和持久化存储。多重安全保障和集成监控使其成为企业云原生环境的理想选择。
184 3
|
8天前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格

相关产品

  • 容器计算服务
  • 容器服务Kubernetes版