ACK Serverless搭建企业级网站应用
ACK Serverless搭建企业级网站应用 |
|
通过ACK Serverless搭建企业级网站应用”实验,本实验是“云原生容器Clouder系列认证”中的阶段二实验。 当容器应用日渐增多且容器间的调用关系越来越复杂时,在服务器上直接部署容器应用将使日常的管控工作变的困难。为了简化复杂的分布式应用程序管理、提高资源利用率、实现弹性伸缩并保障容器的服务发现和负载均衡,有必要使用容器编排来管控我们的容器应用。 |
|
容器服务 Serverless 版 ACK Serverless 是一款基于阿里云弹性计算基础架构,同时完全兼容 Kubernetes 生态,安全、可靠的容器产品。通过该产品,您无需管理和维护集群即可快速创建 Kubernetes 容器应用,并且根据应用实际使用的 CPU 和内存资源量进行按需付费,从而使您更专注于应用本身,而非运行应用的基础设施。 阿里云弹性容器实例(Elastic Container Instance)是 Serverless 和容器化的弹性计算服务。您无需管理底层 ECS 服务器,只需要提供打包好的镜像,即可运行容器,与阿里云容器服务无缝对接并仅为容器实际运行消耗的资源付费。 可观测监控 Prometheus 版作
为云原生指标监控平台,完整兼容 Prometheus 开源生态,为运维工程师、SRE工程师等不同角色提供一站式指标观测平台,满足业务自定义监控 / 应用组件监控 / 云服务监控 / 容器监控 / 系统监控等场景的监控、告警需求。 |
|
当容器应用日渐增多且容器间的调用关系越来越复杂时,在服务器上直接部署容器应用将使日常的管控工作变的困难。为了简化复杂的分布式应用程序管理、提高资源利用率、实现弹性伸缩并保障容器的服务发现和负载均衡,有必要使用容器编排来管控我们的容器应用。 本次实验任务实现了将容器化的应用快速发布到阿里云ASK集群中,并实现外部访问,同时在ASK集群中进行应用的管理和运维,来体验低门槛高效率的容器服务管理平台。实验主要分为以下几个步骤:
|
|
添加NAS挂载点 实现ASK集群数据持久化并且使数据能够被多个Pod同时使用,声明PVC需使用NAS作为外部数据存储。NAS资源已经提前为您创建好,只需添加挂载点即可使用。 1、在控制台顶端搜索框搜索NAS,点击文件存储NAS登录NAS管理控制台;或将以下地址复制进远程桌面的浏览器地址栏:
https://nasnext.console.aliyun.com/overview
在左侧导航栏,选择文件系统 > 文件系统列表。在文件系统列表页面,找到预先创建好的NAS资源:Clouder_Nas,在右侧更多中,找到并点击添加挂载点。
NAS挂载点配置参数如下:
在文件系统列表页面如果看不到目标NAS资源,请注意页面左上方地域是否选择了华东1(杭州)。
创建ACK Serverless集群
复制如下链接,并在无影安全浏览器中粘贴ACK Serverless集群的控制台。
2、在左侧导航栏,选择集群。在集群页面,单击右侧创建集群。在创建集群页面中,设置集群的配置参数。 相关参数配置如下:
单击下一步进入 组件配置。
最上面选择ACK Serverless集群,集群地域需与专有网络地域一致(华东1-杭州),同时勾选两个不同可用区保障集群高可用。
3、组件配置 【操作动作】进入组件配置,在该页面我们可以选择需要的组件,本次实验不需要安装额外组件,并取消日志服务勾选。
、生成集群 【操作动作】点击右下角确认配置,确认所选配置,待依赖检查全部通过后,勾选确认服务协议,点击创建集群。 集群创建预计3~5分钟,待集群创建完成后我们再进行数据持久化相关操作。
通过镜像在集群中快速部署容器应用
创建存储卷(PV)和存储声明(PVC)【说明】为了实现用户数据持久化存储,我们需提前定义PV和PVC。PV是对存储资源的抽象,可将存储定义为一种容器应用可以直接使用的资源,而PVC定义了应用对存储资源的申请。 1、在 容器服务ACK 控制台,左侧导航栏点击 集群 进入到集群列表页面,确认集群状态为运行中,点击 集群名称 进入集群管理控制台。 在左侧导航栏点击 存储-存储卷,进入存储卷页面后点击右上角 创建 按钮。
依次定义存储卷如下:
然后点击创建按钮。 【操作注意】创建PV时一定要选择NAS的子目录,wordpress镜像会chown修改目录权限、属主和属组,而NAS的根目录/不允许修改权限、属主和属组,不指定子目录的话Pod会启动报错。
点击左侧导航栏 存储声明 按钮,在页面右上角点击创建按钮。
点击左上角 所有集群,返回容器服务控制台。
二、控制台进入创建应用页面【说明】ACK集群可以让我们在控制台上快速的通过使用镜像的方式创建应用,不用再编写复杂的YAML文件即可快速创建Pod、Service、PV及PVC等原生Kubernetes对象。
1、在容器服务控制台,点击左侧导航栏集群进入到集群列表页面,在目标集群最右侧点击应用管理。 三、配置应用基本信息1、配置应用基本信息如下:
2、然后点击右下角下一步按钮。
容器配置1、已经提前准备好了wordpress容器应用镜像,保存在ACR镜像仓库中。点击镜像名称后的填写框,填入镜像仓库地址:
registry.cn-hangzhou.aliyuncs.com/wordpress_clouder/clouder-attestation-wordpress:v1
点击镜像拉取策略下拉按钮,选择优先使用本地镜像(IfNotPresent),所需资源后下拉框选择 CPU:1Core,内存:2GB 、在端口设置中指定容器端口如下:
协议:TCP
下拉页面到最下方数据卷部分,设置存储声明(PVC)。 注意:在选择镜像tag后,此处可能会自动增加一个临时目录类型的本地存储,因为我们需要持久化存储数据,所以此处将其删除。如果没有出现本地存储可以忽略,直接进行下一步。
设置存储声明(PVC),点击增加云存储声明,填写名称和容器路径。 填写信息如下:
配置容器访问【说明】要使应用被外界访问,我们可以创建服务(Service)为一组具有相同功能的容器应用提供一个统一的入口地址,并且可以将请求负载分发到后端的各个容器上。
1、在访问设置框里点击服务(Service)后的创建按钮,设置信息如下:
点击创建,完成服务Service创建。
生成容器1、点击右下角创建按钮部署应用,等待创建显示成功后点击查看应用详情。待容器组状态都为 Running 时创建成功
获取应用访问地址并通过浏览器访问1、待容器组都创建成功后,点击访问方式按钮,获取外部端点地址。
|
|
生成容器1、点击右下角创建按钮部署应用,等待创建显示成功后点击查看应用详情。待 访问集群中应用并配置相关信息
测试访问应用将获取到的外部端点地址和端口输入到浏览器进行访问,如应用运行正常,将看到wordpress初始化界面。 点击Let’s go进行初始化配置
二、获取RDS for Mysql相关信息1、本任务中已为您提前创建好RDS数据库资源,回到控制台最上方搜索框中搜索 RDS;或将以下地址复制进远程桌面的浏览器地址栏:
2、进入RDS控制台,在 实例列表 找到目标实例,点击 实例ID 进入实例管理界面,点击账号管理>创建账号。
创建信息如下:
点击确定,完成数据库账号创建。
击 数据库管理,点击 创建数据库 按钮,在弹框页面依次填入名称和字符集UTF8,选择授权账号为上一步新建的账号,点击创建按钮进行创建。 创建信息如下:
点击创建。 点击 数据库连接 获取数据库连接地址,这里复制 内网地址 进行使用。
配置初始化页面1、回到wordpress配置页面,将上一步中创建的数据库名称、账号密码、连接地址一次填入wordpress初始化页面,点击提交等待初始化。
写完成后点击Submit。
2、在弹出欢迎页上配置相关信息,点击Install Wordpress。 相关信息配置如下:
3、配置完成后,点击Install Wordpress需等待片刻,回弹出Success页面,点击该页面Log In。 |
|
写完成后点击Submit。
2、在弹出欢迎页上配置相关信息,点击Install Wordpress。 相关信息配置如下:
3、配置完成后,点击Install Wordpress需等待片刻,回弹出Success页面,点击该页面Log In。 |
|
、配置完成后,点击Install Wordpress需等待片刻,回弹出Success页面,点击该页面Log In。 | |
集群管理功能演示【说明】这一步主要进行演示与体验,目的是带您体验ACK Serverless集群管理相关的功能。通过集群页面我们可以管理集群相关信息,管理命名空间,创建工作负载,定义集群网络等。
1、在远程桌面浏览器输入以下地址可以访问ACK Serverless集群的控制台。
点击 集群名称 进入集群管理页,在左侧导航栏,点击 集群信息,进入概览页签内,在该页面我们可以查看集群中所有命名空间下应用的相关状态以及集群中的所有事件。 |
|
集群管理功能演示【说明】这一步主要进行演示与体验,目的是带您体验ACK Serverless集群管理相关的功能。通过集群页面我们可以管理集群相关信息,管理命名空间,创建工作负载,定义集群网络等。
1、在远程桌面浏览器输入以下地址可以访问ACK Serverless集群的控制台。
点击 集群名称 进入集群管理页,在左侧导航栏,点击 集群信息,进入概览页签内,在该页面我们可以查看集群中所有命名空间下应用的相关状态以及集群中的所有事件。
、控制台管理应用【说明】容器服务提供Web控制台对部署应用及应用所涉及的K8s资源进行统一查看和管理,实现免运维应用托管,降低K8s使用和维护的门槛。本步骤通过手动删除Pod,模拟应用异常下线,来体验ACK Serverless完善的核心功能。
1、在集群信息页面,点击左侧导航栏 工作负载 > 无状态,找到部署的应用,点击右侧详情按钮,查看容器组,点击其中一个Pod最右侧的删除按钮,在弹出页面点击确认。 |
|
、点击右上方刷新按钮,我们可以看到一个Pod被删除(Terminating)的同时,瞬间又起了一个Pod(Pending / ContainerCreating)。
此时通过该页面访问方式页签获取访问地址访问应用,会发现wordpress应用还是持续可用的。
此时通过该页面访问方式页签获取访问地址访问应用,会发现wordpress应用还是持续可用的。 等待几秒后,我们刷新页面就能看到容器组中又有5个正常 Running 状态的Pod。
|
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
2014-02-12 滚动播放文字或者图片信息效果
2014-02-12 电话号码