学习报告—冬季实战营第四期:零基础容器技术实战

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

本场景以Github上的一款魔方游戏为例,学习了如何通过容器服务ACK在K8s集群中部署和监控容器应用。

部署并公开应用

在ACK集群中快速部署一个无状态应用(Deployment),即魔方游戏,并将该应用向公网公开。

测试应用

通过服务(Service)来访问新部署的容器化应用。

监控应用

监控应用的运行状况,如CPU利用率、内存利用率、网络I/O压力等指标。

动手实战-基础学习之Docker镜像管理快速入门

搭建Docker服务

步骤有必要记录下,便于以后服务搭建

Docker 是一个开源的容器引擎,用于创建、管理和编排容器,可以轻松为任何应用创建一个轻量级、可移植、自给自足的容器。本步骤将在ECS上部署一个Docker服务,并配置DockerHub的镜像加速器。

安装Docker的依赖库。

yum install -y yum-utils device-mapper-persistent-data lvm2

添加Docker CE的软件源信息。

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装Docker CE。

yum makecache fast &&
yum -y install docker-ce

启动Docker服务。

systemctl start docker

配置DockerHub镜像加速器。

tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF

重启Docker服务。

systemctl restart docker

准备应用代码和Dockerfile

创建一个基于Golang的HelloWorld代码文件和一个用来构建运行Hello代码所需环境镜像的Dockerfile文件。

本地构建镜像并运行镜像

使用Docker基本命令构建和运行镜像

docker build . -t demo:v1
参数.表示指定当前路径作为构建上下文,即Dockerfile所在的本地路径。
参数-t demo:v1指定镜像名称和标签。
docker run -d -p 8000:80 demo:v1
参数-d设置容器运行模式为后台运行。
参数-p 8000:80将容器内部使用的网络端口映射到主机上,其中8000为主机端口,80为容器内部使用端口。
docker rm命令删除容器。

创建远程镜像仓库

使用自己的阿里云账号开通容器镜像服务并创建镜像仓库

推送镜像

将本地镜像推送到远程仓库中,并运行远程仓库中的指定版本镜像。

Chaos带你快速上手混沌工程

本场景主要介绍混沌工程的思想及其原理,体验故障演练(AHAS Chaos),阿里云在混沌工程领域的产品。

创建应用

安装探针

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

自动恢复场景演练

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

出现的问题:

学习报告—冬季实战营第四期:零基础容器技术实战

后续未进行下去

强弱依赖场景演练

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

失败重试场景演练

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

微服务演练

在体验了上述三个场景演练之后,我们对混沌工程有了初步的了解,也掌握了应用高可用服务的基本功能。但是这样手动部署参数的过程还是比较繁琐的。接下来我们体验一下更为方便快捷的强弱依赖治理。

直播实战

后面两天通过直播的方式学习了使用阿里云容器服务和容器网络文件系统搭建WordPress网站及如何保证线上应用的最佳状态,保证业务连续性

上一篇:常见java相关问题


下一篇:tomcat中关于websocket的性能优化配置