基础学习之阿里云容器服务Kubernetes版快速入门
本步骤指导您如何在ACK集群中快速部署一个无状态应用(Deployment),即魔方游戏,并将该应用向公网公开。关于创建Deployment的详细参数描述,
并访问容器服务管理控制台
在集群列表页面中,单击目标集群名称
在集群管理页左侧导航栏中,选择工作负载>无状态。
在无状态页面中,单击使用镜像创建。
在应用基本信息页签,设置应用名称,例如ack-cube,单击下一步。
在容器配置页签,依次设置镜像名称、镜像Tag、资源限制、所需资源和端口,单击下一步。
在高级配置页签,单击服务(Service)右侧的创建。
在创建服务对话框中,设置服务的相关参数,单击创建,以通过该服务公开应用。
在高级配置页签,单击页面右下角的创建。
返回如下页面,表示应用创建成功,单击查看应用详情。
在应用详情页面,您可以查看应用的容器组、访问方式、事件、容器伸缩、历史版本、日志和触发器等信息。
测试应用
本步骤指导您如何通过服务(Service)来访问新部署的容器化应用。
切换回容器服务管理控制台页签。在左侧导航栏中,选择网络>服务。
在服务列表页面,找到新创建的服务(即ack-cube-svc),记录外部端点列的IP地址。
3、打开您本机的浏览器,在地址栏中输入并访问外部端点列的IP地址,您即可体验魔方游戏。
监控应用
本步骤指导您如何监控应用的运行状况,如CPU利用率、内存利用率、网络I/O压力等指标。
切换回容器服务管理控制台页签。在左侧导航栏中,选择运维管理>Prometheus监控。
在Prometheus监控页面,单击无状态应用监控。
在无状态应用监控页签,选择namespace为default,选择deployment为ack-cube。
在无状态应用监控页签,单击右侧图标>集群Pod监控。
在集群Pod监控页签,选择namespace为default,选择Pod为待监控的Pod。
Docker镜像管理快速入门
Docker 是一个开源的容器引擎,用于创建、管理和编排容器,可以轻松为任何应用创建一个轻量级、可移植、自给自足的容器。本步骤将在ECS上部署一个Docker服务,并配置DockerHub的镜像加速器。
搭建Docker服务
点击右侧 ,切换至Web Terminal,输入以下命令,安装Docker的依赖库。
添加Docker CE的软件源信息。
安装Docker CE。
启动Docker服务。
配置DockerHub镜像加速器。
重启Docker服务。
准备应用代码和Dockerfile
本步骤操作将在工作空间下创建一个基于Golang的HelloWorld代码文件和一个用来构建运行Hello代码所需环境镜像的Dockerfile文件。
创建工作空间。
在工作空间下创建HelloWorld代码文件,用来在容器环境中监听HTTP服务,输出HelloWorld字符串。
在工作空间下创建Dockerfile文件。
本地构建镜像并运行镜像
本步骤将指导您使用Docker基本命令构建和运行镜
使用docker build命令构建镜像。
使用docker run命令运行镜像。
使用curl工具访问容器中的HelloWorld服务。
使用docker rm命令删除容器。
创建远程镜像仓库
选择 【镜像仓库】 > 【创建镜像仓库】,在 【创建镜像仓库】 弹框中选择 【命名空间】 ,填写 仓库名称 和 摘要 ,然后单击 【下一步】
单击 【本地仓库】 > 【创建镜像仓库】 。
在镜像仓库列表,选择上一步创建的镜像仓库,单击 【管理】 ,查看镜像仓库详情。
推送镜像
1.执行以下命令登录到阿里云Docker Registry。
标记本地镜像,将其归入远程仓库。
将本地镜像推送到远程仓库。
拉取指定版本的远程镜像。
运行拉取的远程镜像。
访问HelloWorld服务。
Chaos带你快速上手混沌工程
容器服务ACK控制台地址,
在集群页面,单击详情。
在左侧导航栏,单击无状态。
在无状态页面,单击使用YAML创建资源。
在创建页面,复制以下代码并粘贴到模板框中,然后单击创建。
在左侧导航栏,单击无状态。
在无状态页面,等待几分钟,单击刷新,容器组数量全部为1/1之后,表示应用部署完成。
如果出现某服务无法正常启动的情况,您只需单击目标服务右侧操作列表下的更多>重新部署即可。如果遇到frontend无法正常启动的情况,此时您需要先将checkoutservice重新部署后,再将frontend重新部署即可
在无状态页面,单击frontend。
在frontend服务页面,单击访问方式页签。
在frontend服务的访问方式页签,单击frontend-external服务的外部端点。
在商品概览页面,单击任意商品,例如Air Jordan Legacy 312。
安装探针
回到容器服务控制台页面,单击左侧导航栏上方的 图标。
在集群列表页面的左侧导航栏中,单击应用目录。
在ack-ahas-pilot的详情页面,单击创建。表示探针已经部署完成。
通过架构感知查看系统整体架构
应用高可用服务控制台
自动恢复场景演练
在分布式系统设计中有一种容错策略是故障恢复(failback),通过健康检查等机制,能在机器或者应用出现问题时自动的进行重新部署。我们利用Chaos进行故障演练,测试我们的系统是否具有这样的能力
进行稳态假设。定义一个稳态指标,来评估系统的健康状态并且在实施混沌过程当中进行监控和处理。
我们将稳态定义为 能访问我们的frontend界面,并正常使用各种购物车、下单等功能。
模拟真实事件。
2.1 切换回应用高可用服务控制台。在左侧导航栏中,单击我的空间。
在演练场景页面,单击JAVA应用并选择容器内Java延迟,然后单击创建演练。
强弱依赖场景演练