带你快速上手混沌工程

简介: 容器服务Kubernetes版(简称ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理;是国内唯一入选2020年Gartner公共云容器报告的产品,并在2019年Forrester容器报告中获国内排名第一;整合了阿里云虚拟化、存储、网络和安全能力,助力企业高效运行云端Kubernetes容器化应用。
  1. 双击打开虚拟桌面的Firefox ESR浏览器,在RAM用户登录框中点击“下一步”,复制云产品资源列表中子用户密码,粘按CTRL+V把密码粘贴到密码输区,登陆子账户(后续在远程桌面里的粘贴操作均使用CTRL + V快捷键)。
  2. 复制容器服务ACK控制台地址,在FireFox浏览器打开新页签,粘贴并访问容器服务ACK控制台。
https://cs.console.aliyun.com/
  1. 集群页面,单击详情

  1. 在左侧导航栏,单击无状态

  1. 无状态页面,单击使用YAML创建资源

  1. 创建页面,复制以下代码并粘贴到模板框中,然后单击创建
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nacos-server-app
spec:
  selector:
    matchLabels:
      app: nacos-server-app
  template:
    metadata:
      labels:
        app: nacos-server-app
    spec:
      containers:
        - name: nacos-standalone
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/nacos:1.0.0
          ports:
            - containerPort: 8848
          env:
            - name: PREFER_HOST_MODE
              value: "hostname"
            - name: MODE
              value: "standalone"
          resources:
            limits:
              cpu: 1
              memory: 2048Mi
            requests:
              cpu: 200m
              memory: 512Mi
---
apiVersion: v1
kind: Service
metadata:
  name: nacos-server-app
spec:
  type: ClusterIP
  selector:
    app: nacos-server-app
  ports:
    - name: http
      port: 8848
      targetPort: 8848
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cart-redis
spec:
  selector:
    matchLabels:
      app: cart-redis
  replicas: 1
  template:
    metadata:
      labels:
        app: cart-redis
    spec:
      containers:
        - name: cart-redis
          image: redis:alpine
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 6379
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: cart-redis
  name: cart-redis
spec:
  ports:
    - port: 6379
      targetPort: 6379
  selector:
    app: cart-redis
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: cartservice-app
spec:
  selector:
    matchLabels:
      app: cartservice-app
  template:
    metadata:
      labels:
        app: cartservice-app
    spec:
      containers:
        - name: cartservice-app
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/cartservice:1.0.0
          imagePullPolicy: Always
          env:
            - name: dubbo.registry.address
              value: "nacos://nacos-server-app:8848"
            - name: spring.cloud.nacos.discovery.server-addr
              value: "nacos-server-app:8848"
            - name: spring.cloud.nacos.config.server-addr
              value: "nacos-server-app:8848"
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: recommendation-service
spec:
  selector:
    matchLabels:
      app: recommendation-service
  template:
    metadata:
      labels:
        app: recommendation-service
        version: 1.0.0-SNAPSHOT
    spec:
      containers:
        - name: recommendation-service
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/recomendationservice:1.0.0
          # imagePullPolicy: Always
          env:
            - name: dubbo.registry.address
              value: "nacos://nacos-server-app:8848"
            - name: spring.cloud.nacos.discovery.server-addr
              value: "nacos-server-app:8848"
            - name: spring.cloud.nacos.config.server-addr
              value: "nacos-server-app:8848"
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: product-mysql
spec:
  selector:
    matchLabels:
      app: product-mysql
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: product-mysql
    spec:
      containers:
        - args:
            - --character-set-server=utf8mb4
            - --collation-server=utf8mb4_unicode_ci
          env:
            - name: MYSQL_DATABASE
              value: product
            - name: MYSQL_ROOT_PASSWORD
              value: productservice
          image: mysql:5.6
          name: product-mysql
          ports:
            - containerPort: 3306
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: product-mysql
  name: product-mysql
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:
    app: product-mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: product-service
spec:
  selector:
    matchLabels:
      app: product-service
  template:
    metadata:
      labels:
        app: product-service
        version: 1.0.0-SNAPSHOT
    spec:
      containers:
        - name: product-service
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/productservice:1.0.0
          imagePullPolicy: Always
          env:
            - name: dubbo.registry.address
              value: "nacos://nacos-server-app:8848"
            - name: spring.cloud.nacos.discovery.server-addr
              value: "nacos-server-app:8848"
            - name: spring.cloud.nacos.config.server-addr
              value: "nacos-server-app:8848"
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: checkout-mysql
spec:
  selector:
    matchLabels:
      app: checkout-mysql
  replicas: 1
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: checkout-mysql
    spec:
      containers:
        - args:
            - --character-set-server=utf8mb4
            - --collation-server=utf8mb4_unicode_ci
          env:
            - name: MYSQL_DATABASE
              value: checkout
            - name: MYSQL_ROOT_PASSWORD
              value: checkoutservice
          image: mysql:5.6
          name: checkout-mysql
          ports:
            - containerPort: 3306
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: checkout-mysql
  name: checkout-mysql
spec:
  ports:
    - port: 3306
      targetPort: 3306
  selector:
    app: checkout-mysql
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: checkout-service
spec:
  selector:
    matchLabels:
      app: checkout-service
  template:
    metadata:
      labels:
        app: checkout-service
    spec:
      containers:
        - name: checkout-service
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/checkoutservice:health
          imagePullPolicy: Always
          ports:
            - name: liveness-port
              containerPort: 8080
              protocol: TCP
          env:
            - name: dubbo.registry.address
              value: "nacos://nacos-server-app:8848"
            - name: spring.cloud.nacos.discovery.server-addr
              value: "nacos-server-app:8848"
            - name: spring.cloud.nacos.config.server-addr
              value: "nacos-server-app:8848"
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: liveness-port
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          startupProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: liveness-port
              scheme: HTTP
            initialDelaySeconds: 40
            periodSeconds: 5
            successThreshold: 1
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: front-end
spec:
  selector:
    matchLabels:
      app: front-end
  template:
    metadata:
      labels:
        app: front-end
    spec:
      containers:
        - name: front-end
          image: registry.cn-beijing.aliyuncs.com/ahas_demo/frontend:async-test
          imagePullPolicy: Always
          ports:
            - name: liveness-port
              containerPort: 8080
              protocol: TCP
          env:
            - name: dubbo.registry.address
              value: "nacos://nacos-server-app:8848"
            - name: spring.cloud.nacos.discovery.server-addr
              value: "nacos-server-app:8848"
            - name: spring.cloud.nacos.config.server-addr
              value: "nacos-server-app:8848"
          resources:
            limits:
              cpu: 1
              memory: 512Mi
            requests:
              cpu: 200m
              memory: 128Mi
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: liveness-port
              scheme: HTTP
            initialDelaySeconds: 5
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1
          startupProbe:
            failureThreshold: 3
            httpGet:
              path: /health
              port: liveness-port
              scheme: HTTP
            initialDelaySeconds: 60
            periodSeconds: 5
            successThreshold: 1
---
apiVersion: v1
kind: Service
metadata:
  name: front-end
spec:
  type: ClusterIP
  selector:
    app: front-end
  ports:
    - name: http
      port: 8080
      targetPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  name: frontend-external
spec:
  type: LoadBalancer
  selector:
    app: front-end
  ports:
    - name: http
      port: 8080
      targetPort: 8080

  1. 在左侧导航栏,单击无状态
  2. 无状态页面,等待几分钟,单击刷新,容器组数量全部为1/1之后,表示应用部署完成。

注意 :

如果出现某服务无法正常启动的情况,您只需单击目标服务右侧操作列表下的更多>重新部署即可。如果遇到frontend无法正常启动的情况,此时您需要先将checkoutservice重新部署后,再将frontend重新部署即可。

  1. 无状态页面,单击frontend

  1. frontend服务页面,单击访问方式页签。

  1. frontend服务的访问方式页签,单击frontend-external服务的外部端点。

若返回如下页面,表示应用部署成功。

  1. 商品概览页面,单击任意商品,例如Air Jordan Legacy 312

  1. 商品详情页面,单击添加购物车

  1. 购物车页面,单击确认订单

若返回如下页面,表示订单支付成功。

安装探针

  1. 回到容器服务控制台页面,单击左侧导航栏上方的图标。

  1. 集群列表页面的左侧导航栏中,单击应用目录

  1. 应用目录页面,单击ack-ahas-pilot

  1. 在ack-ahas-pilot的详情页面,单击创建

返回如下页面,表示探针已经部署完成。

通过使用MSHA快速体验异地、同城多活容灾。动手实验室地址:https://developer.aliyun.com/adc/scenario/998a993afe624e3eadcf5f8f6b791064

目录
相关文章
【鸿蒙软件开发】进度条Progress
【鸿蒙软件开发】进度条Progress
537 0
|
Kubernetes Docker 容器
k8s安装Ingress-Nginx
首先,需要匹配Ingress-nginx版本和kubernetes版本。 在[https://github.com/kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx)可以找到,如下图所示: 笔者用的k8s版本是v1.21.2,需要安装Ingress-nginx的v1.3.1版本,下载如下文件:
1788 0
|
7月前
|
人工智能 弹性计算 智能设计
🎨 三步打造AI创意工坊 | 通义万相图像生成服务极速部署指南
🚀 从零到大师 | 通义万相智能创作系统部署指南
|
运维 安全 Cloud Native
阿里云云安全中心全面解析
阿里云云安全中心作为一款集持续监测、深度防御、全面分析、快速响应能力于一体的云上安全管理平台,为企业提供了全方位的安全保障。本文将详细介绍阿里云云安全中心的功能、应用场景、收费标准以及购买建议,帮助您更好地了解和利用这一强大的安全工具。
阿里云云安全中心全面解析
|
9月前
|
编解码 并行计算 物联网
4G显存部署Flux,2分钟Wan2.1-14B视频生成,DiffSynth-Engine引擎开源!
魔搭社区的开源项目 DiffSynth-Studio 自推出以来,凭借其前沿的技术探索和卓越的创新能力,持续受到开源社区的高度关注与广泛好评。截至目前,该项目已在 GitHub 上斩获超过 8,000 颗星,成为备受瞩目的开源项目之一。作为以技术探索为核心理念的实践平台,DiffSynth-Studio 基于扩散模型(Diffusion Model),在图像生成和视频生成领域孵化出了一系列富有创意且实用的技术成果,其中包括 ExVideo、ArtAug、EliGen 等代表性模块。
1659 3
|
存储 人工智能 前端开发
基于知识图谱的教学资源网
基于知识图谱的教学资源网
273 11
|
Prometheus Kubernetes Cloud Native
k8s安装kube-promethues(超详细)
k8s安装kube-promethues(超详细)
1917 0
|
前端开发 开发工具 Android开发
安卓与iOS开发环境的差异性分析
在移动应用开发的广阔天地中,安卓与iOS两大平台各自占据着半壁江山。开发者在选择开发环境时往往需权衡两者的技术架构、开发工具及市场策略等多方面因素。本文深入探讨了安卓和iOS开发环境的主要差异,包括编程语言、IDE选择、API设计哲学等技术层面,以及用户群体、市场份额和分发渠道等市场层面的差异。通过对比分析,旨在为移动应用开发者提供清晰的决策依据,帮助他们在激烈的市场竞争中找到适合自身项目需求的最佳开发路径。
187 27
|
缓存 Shell Windows
GoLand破解安装激活2022-09-07最新教程(附破解工具及激活码)
本文讲的是GoLand破解、GoLand激活码、GoLand安装、GoLand永久激活码的最新永久激活教程,本文有mac和windows系统的Rider安装教程。
31663 1
GoLand破解安装激活2022-09-07最新教程(附破解工具及激活码)
|
存储 弹性计算 网络协议
阿里云hpc8ae服务器ECS高性能计算优化型实例性能详解
阿里云ECS的HPC优化型hpc8ae实例搭载3.75 GHz AMD第四代EPYC处理器,配备64 Gbps eRDMA网络,专为工业仿真、EDA、地质勘探等HPC工作负载设计。实例提供1:4的CPU内存配比,支持ESSD存储和IPv4/IPv6,操作系统限于特定版本的CentOS和Alibaba Cloud Linux。ecs.hpc8ae.32xlarge实例拥有64核和256 GiB内存,网络带宽和eRDMA带宽均为64 Gbit/s。适用于CFD、FEA、气象预报等场景。