场景体验报告——冬季实战营第四期

简介: 第四期着重练习了容器技术,容器可以理解为一个装应用软件的箱子,箱子里面有软件运行所需的依赖库和配置,开发人员可以把这个箱子搬到任何机器上,无需因为更换了机器而重新进行复杂的配置,就可以顺利将这个箱子中的软件跑起来。

阿里云容器服务Kubernetes版快速入门


本场景将在ACK集群中快速部署一个魔方游戏,并可以公网访问。

一、部署并公开应用

  1. 在容器服务控制台,选择一个目标集群,在“工作负载”-“无状态”中,使用镜像创建应用。

1.png

  1. 创建完成后,可以查看应用详情。

2.png

二、访问应用

  1. 在管理控制台的目标集群中,点击“网路”-“服务”,查看刚刚创建的服务的外部端点给出的ip地址。
  2. 在任何时间任何地点,访问这个ip地址,就可以玩魔方了。

Docker镜像管理快速入门


一、搭建Docker服务

具体操作有:安装Docker服务、配置DockerHub镜像加速器、启动Docker服务。

二、准备应用代码和Dockerfile

本步骤操作将在工作空间下创建一个基于Golang的HelloWorld代码文件和一个用来构建运行Hello代码所需环境镜像的Dockerfile文件。

  1. 创建工作空间

mkdir -p /tmp/demo && cd /tmp/demo

  1. 在工作空间下创建HelloWorld代码文件,用来在容器环境中监听HTTP服务,输出HelloWorld字符串。

cat > /tmp/demo/main.go << EOFpackage main

import (     "fmt"     "net/http")

func main() {     http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {             fmt.Fprintf(w, "Hello! World\n")     })

fmt.Println("start to serve...")

http.ListenAndServe(":80", nil)

}EOF

  1. 在工作空间下创建Dockerfile文件。

cat > /tmp/demo/Dockerfile << EOF

FROM golang:1.12-alpine

# change current working dir

WORKDIR /go/src/app

# copy main.go into /go/src/app

COPY . .

# go build and install the app

RUN go install -v ./...

# run the app by default

CMD ["app"]

EOF

三、本地构建镜像并运行镜像

  1. 使用docker build命令构建镜像。

docker build . -t demo:v1

  1. 使用docker run命令运行镜像。

docker run -d -p 8000:80 demo:v1

  1. 使用curl工具访问容器中的HelloWorld服务。

curl localhost:8000

Chaos带你快速上手混沌工程


一、创建应用

  1. 在容器服务控制台中,选择一个集群,在“工作负载”-“无状态”中,使用YAML完成创建。
  2. 创建完成后,在“无状态”中找到frontend,访问其外部端点IP地址,即可进入应用。

二、安装探针

  1. 在容器服务控制台,进入“应用市场”。
  2. 找到ack-ahas-pilot,一键部署到集群中。

三、通过架构感知查看系统整体架构

  1. 在应用高可用服务控制台,点击架构感知,选择Kubernetes监控视图,即可看到视图。

四、自动恢复场景演练

在分布式系统设计中有一种容错策略是故障恢复(failback),通过健康检查等机制,能在机器或者应用出现问题时自动的进行重新部署。我们利用Chaos进行故障演练,测试我们的系统是否具有这样的能力。

五、强弱依赖场景演练

在微服务架构中,各个服务之间存在许多依赖关系。但是当一个不重要的弱依赖宕机时,一个健壮的系统应该仍然能够正常的运行。我们利用Chaos进行故障演练,测试我们的系统处理强弱依赖的能力如何。

六、失败重试场景演练

在微服务架构中,一个大系统被拆分成多个小服务,小服务之间存在大量RPC调用,经常可能因为网络抖动等原因导致RPC调用失败,这时候使用重试机制可以提高请求的最终成功率,减少故障影响,让系统运行更稳定。我们通过利用Chaos,给系统注入失败,看看系统失败重试的性能如何。

七、微服务演练

上述三个场景演练手动部署参数的过程是比较繁琐的。接下来我们体验一下更为方便快捷的强弱依赖治理。

  1. 在高可用服务控制台,单击微服务演练,选择强弱依赖治理,并创建治理方案。
  2. 治理应用选择frontend
  3. 依赖预判中,自行选择依赖对象的强弱依赖预判,例如nacos-standalone和checkoutservice的强弱依赖预判可选择强依赖,其他依赖对象默认弱依赖。
  4. 在依赖验证中,选择任意用例进行验证。例如选择frontend与nacos-standalone强弱依赖验证用例,单击去验证
  5. 去验证前的参数确认对话框中,单击确定验证
  6. 在演练详情页面中,单击演练
  7. 切换至Hipster Shop页面,单击网页的任意功能。您可以发现Hipster Shop网页和相关功能均可以正常访问,说明frontend服务与nacos-standalone服务是弱依赖关系。
  8. 切换至应用高可用服务控制台,在演练记录详情页面,单击终止
  9. 结果反馈对话框中,结论选择不符合预期验证结果选择弱依赖,单击确定,返回强弱依赖治理
  10. 在依赖验证中,可以验证其他用例,验证完成后,单击方案归档
  11. 返回如下页面,表示归档完毕。


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
弹性计算 关系型数据库 MySQL
冬季实战营第一期场景体验报告
冬季实战营,帮助开发者学习使用云上资源,高效开发。实战营让开发者动手实战,由专家带练。由浅及深,逐渐提升开发者的动手实操能力!
246 1
冬季实战营第一期场景体验报告
|
弹性计算 关系型数据库 MySQL
场景体验报告——冬季实战营第一期
冬季实战营第一期,通过六个场景,从ECS的登录开始,涵盖了安装并配置Apache、MySQL、PHP环境,Docker的部署、SpringBoot项目的部署,最后还搭建了一个门户网站。
327 1
场景体验报告——冬季实战营第一期
|
SQL 弹性计算 分布式计算
场景体验报告——冬季实战营第五期
第五期为大数据的实战,主要介绍了阿里云EMR集群、Elasticsearch集群和湖仓一体架构。对大数据的学习有一定的入门作用。
135 0
场景体验报告——冬季实战营第五期
|
SQL 弹性计算 Oracle
冬季实战营第三期场景体验报告
场景一:MySQL数据库快速部署实践 本实验提供一个Linux系统。首先,安装mysql;然后,执行mysql的常用操作;最后,学习基本的SQL语句。 场景二:数据库上云实战 开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。 场景三:MySQL数据库基础 本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
181 1
|
存储 关系型数据库 MySQL
场景体验报告——冬季实战营第三期
第三期的冬季实战营主题是MySQL数据库,MySQL数据库是非常常用的数据库,由于我已经有一定的基础,因此我主要记录了独具特色的阿里云RDS的使用。
137 0
场景体验报告——冬季实战营第三期
|
弹性计算 关系型数据库 MySQL
阿里云冬季实战营第一期体验报告
体验了ECS安装,mysql布署和大数据平台
264 1
|
Linux 开发工具 数据安全/隐私保护
冬季实战营第二期场景体验报告
冬季实战营,帮助开发者学习使用云上资源,高效开发。实战营让开发者动手实战,由专家带练。由浅及深,逐渐提升开发者的动手实操能力!第二期主要带领开发者从0到1学习Linux指令,以及如何在云上使用Linux。
184 0
冬季实战营第二期场景体验报告
|
存储 网络协议 安全
场景体验报告——冬季实战营第二期
第二期的实战内容是Linux操作系统的基础命令,从文本处理、系统管理、磁盘管理、文件与权限、文件管理五个方面进行Linux命令操作的基础学习,具有很强的实战意义。命令很多,仅仅依靠体验场景进行练习是远远不够的,要将这些命令融入到日常开发当中。
174 0
场景体验报告——冬季实战营第二期
|
SQL 运维 搜索推荐
冬季实战营第五期体验报告
关于冬季实战营第五期:轻松入门学习大数据。
115 0
|
SQL 机器学习/深度学习 弹性计算
冬季实战营第五期报告
轻松入门学习大数据
121 0