全部产品
Search
文档中心

容器服务 Kubernetes 版 ACK:方案规划

更新时间:Apr 03, 2024

本文介绍使用容器服务ACK过程中涉及的规划及使用方案等常见问题。

容器服务ACK中使用容器运行应用的大致流程是什么?

您的应用代码可部署在线下或者云上。不论何种语言的代码,您都可以将其以容器化的方式部署、交付及运行。从开发代码到运行容器化应用,大致需要以下四个阶段:

  1. 编写代码。

  2. 使用Dockerfile构建镜像。

  3. 上传镜像至镜像仓库。您可以使用容器镜像服务ACR来存放镜像。

  4. 运行容器化应用。您可以使用容器服务 Kubernetes 版来一站式管理您的容器化应用。

术语

描述

Dockerfile

Dockerfile是一个文本文件,包含了将代码打包成镜像所需的指令。具体操作,请参见在Dockerfile中使用构建打包镜像并运行

镜像

镜像是软件交付的载体。相比传统的如JAR、WAR、RPM包等,除了代码外,镜像还包含应用所依赖的软件环境(容器运行时所需要的所有的文件集合)。使用镜像可以快速生成一个容器,即运行的应用。

更多信息,请参见使用镜像快速创建无状态Deployment应用

容器

容器是一组具有隔离特性的进程集合,其特点是视图隔离、资源可限制、具备独立文件系统。您可以通过阿里云容器服务ACK对您所有的容器化应用进行全生命周期的高效管理。例如将某些容器组(Pod)调度到指定的Node节点(ECS服务器)上,或者在业务负载升高时进行扩容操作。

具体操作,请参见调度应用至指定节点节点自动伸缩容器与镜像

容器服务ACK与阿里云其他产品一起使用的推荐方案是什么?

通过阿里云容器服务ACK,您可以为应用业务创建所需的云服务器ECS、网络、存储等阿里云其他产品资源。您可以根据下图创建最小交叉产品集合,获得云原生系统构建、安全合规、微服务、可观测、存储、计算与网络等方面的专业技术支持,适配您集群的开发与运维工作。

建议您关注与容器服务ACK相结合的可观测性方案,即日志与监控产品。对于基础设施监控、容器监控、应用性能监控和业务监控,不同层面可配上对应的可观测性服务。

image

如何选择容器服务ACK的集群类型?

关于阿里云容器服务ACK的集群类型的特点及使用场景,请参见什么是容器服务 Kubernetes 版

如何规划集群容量?

集群的容量需要根据您业务流量压力而定。集群总容量算法公式如下。公式

例如:有100个微服务,平均每个服务5个实例,每个实例用2核4 GB,预留10%冗余。总容量:100×5×110%×2核/100×5×110%×4 GB=1100核/2200 GB

如果您的业务波动明显,有波峰和波谷变化,可以将日常容量之外的弹性容量以容器扩容的方式实现。具体操作,请参见弹性伸缩概述

ECS服务器怎么选型?

集群选择节点时,节点规格优先于节点数量。在同样满足业务需求的情况下,优选方案为少量大规格ECS,而不是大量小规格ECS。如果是超大规模海量应用,推荐选用弹性裸金属服务器(具体操作,请参见创建弹性裸金属服务器实例)。集群中所有Worker节点的算力要看集群日常使用的总核性以及对服务可用度的容忍度。更多信息,请参见ECS选型推荐配置

如何选择阿里云容器镜像服务ACR个人版和企业版?

使用容器技术必不可少的步骤是把应用代码打包成容器镜像。对于容器镜像的存放、版本管理和分发拉取等,需要开通容器镜像服务ACR。容器镜像服务分为个人版和企业版:

  • 个人版面向容器开发者,存储及流量限额免费。

  • 企业版面向企业,对安全及性能需求高,业务多地域大规模部署。

更多信息,请参见什么是容器镜像服务ACR

线上或线下已有一套环境,是否可以迁移到云上ACK?

可以,自建Kubernetes集群可以平滑迁移到阿里云Kubernetes集群。具体步骤,请参见Kubernetes迁移方案概述云原生应用迁云解决方案

重要

请在集群迁移前充分评估,确保应用迁移对业务无影响。