一、概论

阿里云企业级分布式应用服务 EDAS在容器服务 K8S 集群中部署应用(镜像)
容器服务 Kubernetes 版提供高性能可伸缩的容器应用管理能力,支持企业级 Kubernetes 容器化应用的全生命周期管理。容器服务 Kubernetes 版简化集群的搭建和扩容等工作,整合阿里云虚拟化、存储、网络和安全能力,打造云端极佳的 Kubernetes 容器化应用运行环境。
EDAS 支持通过镜像部署容器服务 Kubernetes 版集群应用,您需准备好镜像,在容器服务 Kubernetes 版控制台中创建容器服务 Kubernetes 版集群,并将该集群导入到 EDAS 控制台,然后创建应用并完成部署。

二、前提条件

阿里云账号同时开通了 EDAS 服务和容器服务 Kubernetes 版。
在容器服务 Kubernetes 版完成角色授权。
制作应用镜像(容器服务 Kubernetes 集群)。

步骤一

创建容器服务 Kubernetes 集群
登录容器服务 Kubernetes 控制台。

在左侧导航栏单击集群,在集群列表页面右上角单击创建 Kubernetes 集群。

容器服务中可以创建 Kubernetes、Kubernetes 托管版和多可用区 Kubernetes三种类型的集群:

创建 Kubernetes 集群:您购买、添加的实例中有 3 个实例需要作为管控(Master)节点,这 3 个实例不能部署应用。您只能在另外购买的实例(Worker)上部署应用。
创建 Kubernetes 托管版集群:您购买、添加的实例中都是 Worker 节点,即可以用于部署应用的实例。
创建多可用区 Kubernetes 集群:跟 Kubernetes 集群的区别是把节点部署在不同的可用区上,当一个区不可用时,还可在其他可用区上使用。您购买、添加的实例中有 3 个实例需要作为管控(Master)节点,这 3 个实例不能部署应用,您只能在另外购买的 Worker 实例上部署应用。
说明:如果您在创建容器服务 Kubernetes 集群时创建了 Internet SLB 且设置了白名单,需要在白名单中添加 10 网段地址及 11.193.253.0/24 扩展网段地址,以确保 EDAS 可以访问容器服务 Kubernetes 集群的资源

步骤二

在 EDAS 控制台中导入容器服务 K8S 集群
登录 EDAS 控制台。

在左侧导航栏中选择资源管理 > 集群。

在集群列表页面单击容器服务 K8S 集群。在集群列表中选择已创建的容器服务 Kubernetes 集群,在该集群操作列单击导入,然后在导入 Kubernetes 集群的对话框上单击导入。

导入容器服务K8S集群

当创建的容器服务 K8S 集群的操作列的选项按钮变为取消导入,且集群状态为运行中,则表示容器服务的 Kubernetes 版集群已成功导入到 EDAS。

步骤三

在容器服务 Kubernetes 版集群中创建应用
1、登录 EDAS 控制台。在左侧导航栏中单击应用管理,进入应用列表页面。

2、在应用列表页面选择地域(Region)和命名空间,然后在页面右上角单击创建应用。

3、在应用基本信息页面中设置应用的基本信息和参数,然后单击下一步:应用配置。

创建普通应用

命名空间:在左侧下拉选择框选择地域;在右侧下拉选择框选择命名空间,如果不做选择命名空间则设置为默认。
集群类型:在左侧下拉选择框中选择集群类型为 容器服务 K8S 集群,右侧下拉选择框内选择具体的集群。
K8S Namespace:K8S Namespace 通过将系统内部的对象分配到不同的 Namespace 中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。
default:没有其他命名空间的对象的默认命名空间。
kube-system:系统创建的对象的命名空间。
kube-public:此命名空间是自动创建的,并且可供所有用户(包括未经过身份验证的用户)读取。
应用名称:输入应用名称。
应用描述:填写应用的基本情况。
在应用配置页面配置镜像。应用部署方式默认选择为镜像。在我的镜像区域选择您创建的镜像。

4、选择镜像

5、设置 Pod

Pod 是应用最小的部署单元。应用可以有多个 Pod,在负载均衡下,请求会被随机分配给某个 Pod 处理。

设置 Pod 总数

Pod 在运行失败或出现故障时,可以自动重启或者快速迁移,保证应用的高可用。有状态应用如果使用了持久化存储,能保存实例数据;无状态应用重新部署时不保存实例数据。您最多可以设置 Pod 总数为 50 。

设置单 Pod 资源配额。

系统默认不做配额限制,即单 Pod 的 CPU 和 Memory 显示为 0。如果需要限制配额,请填设置数字。

1、(可选)设置启动命令和启动参数。

注意:若不了解原 Dockerfile 镜像的 CMD 和 ENTRYPOINT 内容,不建议修改自定义启动命令和启动参数,错误的自定义命令将导致应用创建失败。

设置启动命令

启动命令:输入启动命令,如命令 CMD [“/usr/sbin/sshd”,“-D”],则在输入框内填写 /usr/sbin/sshd –D。
启动参数:一个参数写一行。如 args:[“-c”; “while sleep 2”; “do echo date”; “done”] 中包含 4 个参数,需要分为 4 行来填写。

1、(可选)设置环境变量。

在创建应用过程中,将所填环境变量注入到即将生成的容器中,这样可以避免常用环境变量的重复添加。

设置环境变量

假如您使用 MySQL 镜像时,可以参考如下环境变量:

MYSQL_ROOT_PASSWORD (必选项): 用于设置 MySQL 的 root 密码,必选项。
MYSQL_USER 和 MYSQL_PASSWORD (可选项): 用于添加除 root 之外的账号并设置密码。
MYSQL_DATABASE (可选项): 用于设置生成容器时需要新建的数据库。
如使用其它类型的镜像,请根据实际需求进行配置。

1、(可选)设置持久化存储。

在阿里云容器服务 Kubernetes 集群中,原生的 Volume 对象所对应的物理储存为非持久化的,它的生命周期与 Kubernetes Pod 一致,是一个暂态的储存对象。使用持久化的储存服务—文件储存,可以永久保存实例数据,应用在升级或迁移后不丢失。

说明:设置持久化存储前,请确保您的 EDAS 账号已开通 NAS 服务。同时,由于 NAS 服务的计费方式为按量付费,请确保当前账户拥有足够的余额或计费方式为后付费。

持久化存储

存储类型:默认为 NAS 文件存储,不可配置。

存储服务类型:目前仅支持 SSD 性能型,不可配置。

NAS 选择:
新购一个 NAS:选择 NAS 挂载目录和本地挂载目录。单一 Region 内 NAS 文件系统上限为 10 个,若已超过 10 个会创建失败。如有特殊需求,请提交工单。
使用已有 NAS:选择一个已有的 NAS。您最多可以创建两个挂载点。不符合要求的 NAS 将不会显示在下拉列表中。
挂载目录:设置挂载目录命令。

1、(可选)设置本地存储。

您可以将宿主机的文件系统的一部分映射到容器内部,以满足您的需求。在使用该功能之前,建议阅读 hostpath,并考虑该方案的合理性。

ECS存储

文件类型说明:

名称 Value 含义
默认 空字符串 不执行类型检查,直接挂载
(新建)文件目录 DirectoryOrCreate 文件目录,如果不存在,则新建
文件目录 Directory 文件目录,不存在则容器启动失败
(新建)文件 FileOrCreate 文件,如果不存在,则新建
文件 File 文件,不存在则容器启动失败
Socket Socket 标准Unix Socket文件,不存在则容器启动失败
CharDevice CharDevice 字符设备文件,不存在则容器启动失败
BlockDevice BlockDevice 块储存设备文件,不存在则容器启动失败
说明:此步骤中,您无需关注 Value 列的内容。但在应用创建完成后,可能会在 API 中使用。

1、(可选)设置应用生命周期管理。

容器服务 Kubernetes 版集群应用有两种状态:

无状态应用:支持多副本部署。重新部署时不保存实例数据。适用于以下使用场景:

Web 应用,应用升级或迁移时,实例内数据不保留。
需要灵活水平扩展,以应对业务量骤然变化的应用。
有状态应用:区别于无状态应用,有状态应用会存储需要持久化的数据,在应用升级或迁移时,实例内数据不会丢失。适用于以下使用场景:

需要频繁通过 SSH 到容器进行操作。
数据需要持久化存储(如数据库应用 MySQL 等),或者集群之间有选举特性,服务发现的应用,如 ZooKeeper,etcd等。
有状态应用可以选择设置应用生命周期管理。

生命周期管理

生命周期管理脚本说明:

Poststart 脚本:一种容器钩子。该钩子在容器被创建后立刻触发,通知容器它已经被创建。该钩子不需要向其所对应的 hook handler 传入任何参数。如果该钩子对应的 hook handler 执行失败,则该容器会被杀死,并根据该容器的重启策略决定是否要重启该容器。参考 Container Lifecycle Hooks

PreStop 脚本:一种容器钩子。该钩子在容器被删除前触发,其所对应的 hook handler 必须在删除该容器的请求发送给 Docker daemon 之前完成。在该钩子对应的 hook handler 完成后不论执行的结果如何,Docker daemon 会发送一个 SGTERN 信号量给 Docker daemon 来删除该容器。参考 Container Lifecycle Hooks

Liveness 脚本:一种探测容器状态的探针,探测应用是否处于健康状态。如果不健康,则删除重建容器。参考 Pod Lifecycle

Readiness 脚本:一种探测容器状态的探针,探测应用是否启动完成并且处于正常服务状态。如果不正常,则更新容器的状态。参考 Pod Lifecycle

1、(可选)设置日志收集。

您可开通日志服务 SLS,能将业务文件日志、容器标准输出stdout、stderr 日志输出到SLS,方便您无限制行数的查看日志、自聚合分析日志。日志服务按量计费。

在日志收集设置区域内,开启日志收集到 SLS 日志服务功能。

勾选文件日志和容器标准输出日志。

文件日志需要添加日志路径。

设置完成后,单击确认创建。

应用创建可能需要几分钟,创建过程中,可以通过应用变更单跟踪创建的过程。Kubernetes 应用无需部署,创建完成即部署完成,创建完成后,返回应用详情页面查看实例部署信息中 Pod 状态若为正常运行则说明应用发布成功。

查看应用状态

升级容器服务 K8S 集群中的应用
容器服务 K8S 集群中的应用在创建时已经进行了部署,故部署应用功能用来更新应用,您可以更新镜像版本和重新设置环境变量等高级设置选项来升级应用。

在应用列表中,单击您所创建的容器服务 Kubernetes 应用名称,进入应用详情页面。

在页面右上角单击部署应用。

在部署应用页面,您可更改配置镜像,并配置启动命令、环境变量、持久化存储、本地存储和应用生命周期管理等高级设置选项。完成设置后单击确定。

更新容器服务的 Kubernetes 应用

升级之后,应用详情页面上的镜像版本会变化为升级后的版本。在实例部署信息页面查看应用的运行状态,如果显示为正常运行则表示应用更新成功。

后续操作
应用创建完毕后,可以通过添加公网 SLB 实现公网访问,添加内网 SLB 实现同 VPC 内所有节点够能通过私网负载均衡访问您的应用。相关操作请参阅绑定 SLB 到 K8S 集群中的应用。

大数据-玩转数据-阿里云EDAS(企业级分布式应用服务)相关推荐

  1. 服务化改造的云上利器 | 阿里云 EDAS 重大升级发布

    11月22日,广东云栖大会企业级互联网架构专场上,阿里云发布了全新版本的企业级分布式应用服务EDAS. 新版本增强了对主流微服务框架的原生支持,实现SpringCloud & Dubbo用户代 ...

  2. [开学季]“当高校遇到大数据”濮阳职业技术学院阿里云大数据应用学院举行阿里云开学第一课...

    2018年11月14日下午,在濮阳职业技术学院阿里云大数据应用学院的103教室,阿里云大学吴兴华老师为同学们带来了一场以"当高校遇到大数据"为主题的阿里云开学第一课讲座. 在讲座正 ...

  3. 深度数据对比分析:阿里云服务器和腾讯云服务器那家好?

    服务器具有维护成本低,安全稳定,高可扩展性和 7 X 24 小时的售后支持的优势,因此云服务器成为中小企业建站的首要选择.国内的云服务器竞争也进入了跑马圈地的时代,以阿里云.腾讯云.百度云三大BAT为 ...

  4. 阿里云IOT设备数据接入 (从阿里云IOT云平台获取设备数据)

               从阿里云IOT云平台获取设备数据 前言: 这篇文档主要讲述的就是当设备的数据发送到物联网套件之后,用户的服务端如何获取设备 的数据. 通过阅读阿里云IoT文档,我们了解到队列中消 ...

  5. 大数据-玩转数据-hive的安装

    大数据-玩转数据-hive的安装 一.说明: 本文以mysql安装hive为例,前提是已经部署好好JDK.hadoop.mysql.并且创建了hive元数据管理专用账户hive/Sunbo:123 1 ...

  6. 阿里云EDAS满分通过可信云微服务先进级认证,助力企业低成本轻松上云

    近日,阿里云企业级分布式应用服务(EDAS)通过了可信云计算微服务解决方案评估,信通院与云计算开源产业联盟给出的认证结果是:在基础设施层.微服务框架.公共基础服务.管理控制台.性能及安全性等方面的技术 ...

  7. 深度解析阿里云EDAS服务

    本文转载自:https://yq.aliyun.com/product/649 企业级分布式应用服务(EDAS,Enterprise Distributed Application Service)是 ...

  8. 书里书外丨大咖论“赛”:阿里云天池 TOP 选手不得不说的那些事儿

    七年前,天池团队的几名创始成员带着"让全世界没有能力Access到大数据的人可以公平地Access到大数据" 的信念,走上了建设天池的道路.   7年间,天池举办了超过200场来自 ...

  9. 阿里云中间件团队首次解密企业级分布式应用服务EDAS

    7月22日,阿里云正式对外发布了企业级互联网架构解决方案,该服务由EDAS应用框架.ONS消息队列.DRDS分布式数据库组成,能有效解决企业上云后网站过载.性能瓶颈.重复开发等问题. 云栖大会武汉站, ...

最新文章

  1. Web Service 安全性解决方案(SOAP篇)
  2. 分布式与人工智能课程(part12)--机器学习案例入门
  3. 要鼓励周鸿祎做360搜索
  4. Android实现侧滑抽屉菜单,android studio自带的抽屉侧滑菜单怎么设置点击事件?还头一回遇到,汗!...
  5. install python_python install on windows 10
  6. EntityFramework Core映射关系详解
  7. 分区创建 linux_在 Intel NUC 上安装 Linux
  8. 关于本次课堂代码的练习
  9. 500+ 精选 Java 面试题大放送
  10. JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤...
  11. VS2013——error C4996: 'std::_Uninitialized_copy0':
  12. amlogic_android7.1的s905x平台长按按键5s清除数据和缓存的实现思路
  13. 关于应用程序无法启动,因为应用程序的并行配置不正确的解决办法
  14. 安洵信息渗透工程师面试经验分享
  15. Oracle技巧查询,很香
  16. r5 5600H 怎么样 相当于什么水平
  17. 小米手机刷机为Linux,小米5 刷机LineageOS 14.1的详细教程
  18. 为什么你的网速一直快不起来?
  19. Dockerfile构建Springboot镜像
  20. 国内有什么好的前端学习网站推荐?

热门文章

  1. 小朱opengl学习笔记(一)
  2. 高精地图构建与SLAM感知优化建图策略
  3. 企业管理软件使用教程
  4. 四级听力默写--图书馆
  5. 暂时解决腾讯会议对Sandboxie等沙箱的检测机制
  6. java 32位可用内存_JVM内存不要超过32G
  7. 2023全国普通高校大学生竞赛目录
  8. 你以为爱情是为了什么
  9. html listview遍历,list-view.html
  10. 我的单片机之路姗姗来迟