【问题标题】:Azure - migration options for moving Web Jobs from ASE to Kubernetes (AKS)Azure - 将 Web 作业从 ASE 迁移到 Kubernetes (AKS) 的迁移选项
【发布时间】:2019-01-14 10:46:40
【问题描述】:

我对 Azure ASE 的开发非常陌生,我正在开发一个现有的 Azure 云解决方案,该解决方案具有服务总线从 UI 接收消息,并且消息事件在解决方案的各个点启动 Azure(按需)Web 作业.

与此类似:

我们在 ASE 上托管大部分解决方案,并且计划从 ASE 转移到 Kubernetes (AKS) 上(目前,我已经将 AKS 设置为 Windows 作为操作系统,只是为了开始使用它) .

有哪些选项可以将 Web 作业从 ASE 移到 AKS?操作系统对选项有影响吗? WebJobs SDK 是否可以安装在 AKS 群集中以运行 WebJobs(例如,它们是否可以从服务总线执行)?我知道您可以设置计划的作业,但是对于按需 Web 作业(长时间运行的进程)来说,什么是等效的。

非常感谢任何建议。我们有类似的 Azure Functions 迁移,但我想如果我能理解如何转移 Web Jobs,Functions 自然会遵循相同的路径。

【问题讨论】:

  • 您是用哪个工具生成的图表?谢谢!
  • 使用了drawio,我使用了Azure图标集:-)

标签: azure kubernetes azure-functions azure-webjobs azure-ase


【解决方案1】:

在这方面花了更多时间,这里有一些对我有帮助的信息(你可以从上面的问题中看到我的理解存在差距,慢慢积累我的知识并发布以防它对其他人有用) .

将 WebJobs 移出 ASE - 这并不像我的问题所暗示的那样直截了当。本质上,WebJobs 本身会输出一个 exe 和所需的库,类似于命令行应用程序的输出。 WebJobs(他们的代码)在 Main 方法中运行一个“JobHost”,它有一个等待触发器在其中运行作业的主机。几年前 WCF 服务在 Windows 服务中托管的方式与我非常相似。

考虑到这一点,首先,WebJob .exe 可以在本地主机操作系统上运行。由于我们使用的是 .net Framework 版本的 WebJobs,我们只能部署到 Windows(也许使用 Mono 可以在 Linux 上运行,但现在我说 Windows 只是为了让事情变得简单)。如果我们使用 .net Core 构建 WebJobs,那么可以说它们可能是 Windows 或 Linux 主机操作系统。

其次,我们希望将 WebJob 的编译输出“容器化”——因此需要构建一个包含 WebJob 和依赖项的 docker 映像,以便可以将其部署到集群中(这是我目前的重点并尝试定义 docker 文件)。阅读有关Docker Containers here 的更多信息。

第三,集群本身。我提到了AKS。还有其他选项,例如 Service Fabric,但它是 Microsoft 专有的 SDK,因此最好暂时避开。您可以根据需要将包含 WebJob .exe(和库)的 docker 映像部署到集群中。集群可以根据需要管理容器的扩展。 注意:您可以在本地运行 Minikube,这有助于掌握

这是一个高级描述,但澄清了我上面的问题并提供了一些我认为有用的信息。希望能帮助其他信任 DevOps 的人! :)

【讨论】:

    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 2023-02-16
    • 2017-09-24
    • 2018-11-15
    • 2023-01-13
    • 2021-09-24
    • 1970-01-01
    • 2016-09-29
    相关资源
    最近更新 更多