如何将应用一键部署至多个环境?丨Walrus教程

这篇具有很好参考价值的文章主要介绍了如何将应用一键部署至多个环境?丨Walrus教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Walrus 平台上,运维团队在资源定义(Resource Definition)中声明提供的资源类型,通过设置匹配规则,将不同的资源部署模板应用到不同类型的环境、项目等。与此同时,研发人员无需关注底层具体实现方式,通过创建 Resource 对象声明需要使用的资源类型及基本信息,就可以灵活地在各种环境中自动化创建所需资源并使用,进而屏蔽各类环境中基础设施的复杂度,降低研发人员的认知负担。

 

本教程将以 MySQL 数据库为例演示如何使用 Walrus 部署多态应用,即通过配置资源定义和资源两个 API 对象将应用快速部署到不同环境中。

 

概念介绍:资源定义

首先,让我们了解一些相关概念。资源定义是 Walrus 构建多云、混合基础设施上层统一抽象的核心,它可以构建多态应用、简化部署配置。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

容器中存在多架构的概念,即允许在同一个镜像中包含不同架构的镜像 Manifest 配置,获取镜像时根据实际环境自动选择合适镜像,使得容器可以在不同硬件上无缝切换。Walrus 资源定义与此类似,它就是部署过程中的 Manifest,包含不同规则的配置,在部署时自动根据部署环境选择合适的部署模板。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

资源定义包括四个部分。

 

  • 模板:通过自定义或使用开源模板抽象创建资源所需配置。
  • 匹配规则:定义每个规则的匹配条件,当符合条件时使用的模板。
  • 管理员配置:通过在匹配的规则下添加管理配置,最佳实践等预定义配置,简化用户部署时配置。
  • UI 样式:根据需求定制的用户界面样式,屏蔽复杂度。

 

现在,我们一起来看看如何结合资源定义来屏蔽复杂度并部署多态应用

 

部署多态应用

前提条件

在开始前,请准备相关资源并完成以下配置工作。

 

  1. 连接器配置。

进入 default 项目 > 连接器> 新建连接器,输入名称 alibaba, 选择云厂商类型的连接器,类型选择“Alibaba”,适用环境类型选择“生产”,输入其他信息完成配置。再次点击新建连接器,输入名称 aws, 类型选择“AWS”,适用环境类型选择“生产”,输入其他信息完成配置。

 

  1. 环境准备。

进入 default 项目 > 环境> 新建环境,输入名称 production,关联刚才新建的名为 alibaba 的连接器,用作生产部署环境。再次新建环境,输入名称 dr,关联刚才新建的名为 aws 的连接器,用作云灾备环境。加上 default 项目中自带的 local 环境,我们现在一共有三个环境:localproduction,dr

 

如何将应用一键部署至多个环境?丨Walrus教程

 

  1. 下载 Walrus CLI

这一步可参考 Walrus 官方文档:https://seal-io.github.io/docs/zh/cli

 

配置资源定义

接下来我们将配置资源定义,这里以构建一个多态的 mysql 数据库为例。

 

  1. 资源定义规则配置

首先按照顺序进入 运维中心 > 资源定义 > 新建资源定义,输入资源定义名称 demo-mysql,输入类型 mysql。接下来新建以下:

 

  • 新建匹配规则 dev 用来表示开发环境的匹配规则和使用模板,添加选择器,这里选择环境名称,输入名称 local,模板使用 builtin/kubernetes-mysql 的最新版本,在预定义配置部分配好 cpu 和 memory 资源。
  • 新建匹配规则 production 用来表示生产环境,添加选择器,这里选择环境名称,输入 production,模板使用 builtin/alicloud-rds-mysql 的最新版本,在预定义配置部分配好 Vpc Id,这样用户在使用该资源定义创建资源时,就无需再填写 Vpc Id,其他根据实际情况配置。
  • 新建匹配规则 dr 用来表示灾备环境,添加选择器,这里选择环境名称,输入 dr,模板使用 builtin/aws-rds-mysql 的最新版本,在预定义配置部分配好 Vpc Id,其他根据实际情况配置。

 

配置完成后包含以下匹配规则。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

如何将应用一键部署至多个环境?丨Walrus教程

 

如何将应用一键部署至多个环境?丨Walrus教程

 

  1. 自定义 UI 样式配置

完成规则配置后,Walrus 会根据配置的规则和预定义配置,智能渲染出 UI 样式,管理员可以根据需求定制 UI 样式。

 

然后进入运维中心 > 资源定义 > 找到对应的资源定义 > UI Schema,点击预览可看到自动生成的 UI 样式。我们这里删除一些复杂配置,留下常用配置支持用户快速启动,以下是配置完成的 UI 样式。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

部署多态应用

使用上面配置好的资源定义就可以支持我们创建多态应用了。这里我们按照以下步骤进行部署:

 

  1. 进入 应用管理 > local 环境 > 新建资源。
  2. 输入资源名称,资源类型选择我们刚新建的资源类型 mysql,输入架构,数据库版本等配置,点击保存并部署就可完成部署了。
  3. 进入 production 环境 > 新建资源,同样选择资源类型 mysql,输入配置完成部署。
  4. 进入 dr 环境 > 新建资源,同样选择资源类型 mysql,输入配置完成部署。
  5. 三个环境都创建了 mysql 类型的资源,local 环境连接了 kubernetes 连接器,production 环境连接了 alibaba 连接器,dr 环境连接了 aws 连接器,可以看到不同环境是否根据当前环境动态的创建了对应的资源。

 

local 环境在 kubernetes 集群中创建了 mysql 容器。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

production 环境在 alibaba 云中创建了 rds 服务。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

如何将应用一键部署至多个环境?丨Walrus教程

 

dr 环境在 aws 云中创建了对应的 rds 服务。

 

如何将应用一键部署至多个环境?丨Walrus教程

 

如何将应用一键部署至多个环境?丨Walrus教程

 

通过 Walrus File 部署多态应用

除了通过 UI 部署多态应用,还可以通过 Walrus file 达到同样的效果。

 

  1. 准备 app.yaml,内容如下:

 

version: v1
resources:
  - name: mysql
    type: mysql
    attributes:
      architecture: standalone
      database: mydb
      engine_version: "8.0"
      username: rdsuser

 

  1. 运行命令部署到不同环境。

 

# 部署到local环境
walrus apply -f app.yaml -p default -e local

# 部署到production环境
walrus apply -f app.yaml -p default -e production

# 部署到dr环境
walrus apply -f app.yaml -p default -e dr

 

通过 CLI 部署可以实现通过复用同一个 Walrus File,部署多态应用到不同环境。

 

至此,我们实现了通过配置资源定义简化应用部署,并通过资源将其部署至多个环境中,极大程度为研发和运维团队屏蔽基础设施复杂度,减轻工作负担。

 

Walrus 通过 XaC(一切即代码)可以统一管理从底层基础设施资源置备到上层应用发布的应用生命周期,和 CI 工具集成可以自动化 CI/CD 流水线交付。如果您被底层基础设施繁琐的配置流程所困扰或想要简化应用管理和部署流程,欢迎下载使用 Walrus。

 

Walrus GitHub 主页:https://github.com/seal-io/walrus
Walrus 在线文档:https://seal-io.github.io/docs/zh/文章来源地址https://www.toymoban.com/news/detail-837795.html

到了这里,关于如何将应用一键部署至多个环境?丨Walrus教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 当你有几个技术博客时,如何一键分发到多个技术博客平台?

    如果你写博客,你一定会遇到这样一个问题,我在掘金写了一篇文章,想要发到其他的平台每次都有复制粘贴,还经常遇到格式不匹配、图片复制不过去等各种问题。可真是头大呀 接下来就给你介绍一个非常王炸的工具,只要把你写的文章编辑一次,就可以导出分发。 专门

    2024年02月08日
    浏览(48)
  • Docker环境一键部署若依微服务版

    若依管理系统是基于SpringBoot的权限管理系统,可以用它作为基础构建自己的后台管理系统。这个项目在 Gitee 上有1.8 万个 star。 它有3 个版本,分别是单体版、前后端分离版、微服务版。这次是使用 docker部署他的微服务版本。 微服务版项目源代码包括 docker 部署的相关代码,

    2024年02月06日
    浏览(47)
  • docker compose一键部署lnmt环境

    创建docker compose 目录 [root@localhost ~]#  mkdir -p /compose_lnmt 编写nginx的dockerfile文件 创建目录 [root@localhost compose_lnmt]# mkdir -p nginx [root@localhost nginx]# vim nginx.conf   [root@localhost nginx]# vim Dockerfile 创建数据存放目录 [root@localhost compose_lnmt]# mkdir -p /var/www/html/ [root@localhost compose_lnmt]# mkdir

    2024年02月14日
    浏览(34)
  • 使用阿里云一键部署 幻兽帕鲁服务器 菜鸟教程 一键快速部署

    本文通过介绍如何 从购买阿里云服务器(windows系统)、到一键傻瓜式快速部署、再到连接到帕鲁服务器,简介明了,易上手,没相关专业知识的游戏玩家也能一键傻瓜式搭建服务器环境。 背景:最近很火爆的游戏《幻兽帕鲁》在Steam 在线峰后,没几日最大DAU破百万,成为

    2024年02月22日
    浏览(56)
  • 【Docker】(七)使用docker-compose一键部署环境

    本系列文章记录了从0开始学习Docker的过程,Docker系列历史文章: (一)基本概念与安装使用 (二)如何使用Docker发布一个SpringBoot服务 (三)使用registry远程镜像仓库管理镜像 (四)使用volume持久化Docker容器中的Redis数据 (五)使用bind mounts修改Docker容器中的Nginx配置 (六)

    2024年02月08日
    浏览(38)
  • 【微服务部署】二、Jenkins一键打包部署SpringBoot应用步骤详解

      本文介绍使用Jenkins一键将SpringBoot应用打包并上传到生产环境服务器运行,这里使用的是直接在服务器上运行FagJar的方式,首先确保服务器环境配置好,安装必须的JDK运行时环境,运行目录,日志存放目录等。 一、服务器环境配置   关于JDK的选择,自1.8版本收费之后,

    2024年02月10日
    浏览(55)
  • 【OpenHarmony-鸿蒙】 华为智能家居IoT设备开发-环境搭建篇 一键部署开发环境

    轻量与小型系统入门概述 简介 OpenHarmony轻量和小型系统适用于内存较小的IOT设备(参考内存≥128KiB)。通过本文,开发者可以快速熟悉OpenHarmony轻量和小型系统的环境搭建、编译、烧录、调测以及运行“Hello World”等。 开发环境 开发者通常习惯采用Windows+Ubuntu环境进行OpenHa

    2024年02月12日
    浏览(46)
  • 雾锁王国服务器一键部署教程

    去年 1 月 24 日有一款游戏登录了 Steam,它的名字叫《雾锁王国》, 如果不出意外的话,它可能就是游戏界的汪峰了 ,因为此时正值另一款游戏《幻兽帕鲁》热度正高之时。。 然而它顶住了帕鲁的压力,短时间内就荣登 Steam 热度趋势榜单的榜首。到目前为止已经收获了超过

    2024年03月20日
    浏览(43)
  • 宝塔面板一键部署ssl免费证书教程

    近期有微信群友反馈按照教程操作完成后,网站是HTTP而不是HTTPS的。关于HTTP和HTTPS的区别,大家感兴趣可以详细了解下,总体来说,HTTPS更加安全,并且HTTPS也是大趋势。网站HTTPS改造是需要一个SSL证书的,得益于宝塔面板的易用性,我们可以直接在宝塔面板里面一键申请并且

    2024年02月10日
    浏览(40)
  • Stable Diffusion 本地部署教程,懒人一键安装包!!!

    首页 AI Stable Diffusion 本地部署教程,懒人一键安装包,有手就会安装! Stable Diffusion 是一款开源的 AI 文生图扩散模型! 目前他和Midjourney 都被称为最好用的AI绘 画工具。关注AI绘画的小伙伴在网上看到的那些优质的AI绘画作品,很多都是大多都是由这两款工 具来完成的。 Mi

    2024年02月10日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包