部署到 Linux/Windows Kubernetes 的混合集群
Dapr 支持在带有 windows 节点的 kubernetes 集群上运行。 您可以只在 Windows 上运行您的 Dapr 微服务,或只在 Linux 上运行,或者两者兼而有之。 这对那些可能会将遗留应用零散迁移到 Dapr Kubernetes 集群的用户很有帮助。
Kubernetes 使用了一个叫做节点亲和性的概念,这样你就可以表示你的应用是想在 Linux 节点还是 Windows 节点上启动。 当部署到一个同时拥有 Windows 和 Linux 节点的集群时,你必须为你的应用提供亲和性规则,否则 Kubernetes 调度器可能会在错误的节点类型上启动你的应用。
您需要一个带有Windows节点的 Kubernetes 集群。 许多 Kubernetes 提供商支持自动配置启用 Windows 的 Kubernetes 集群。
一旦你设置了集群,你应该看到它同时有 Windows 和 Linux 节点可用
If you are installing using the Dapr CLI or via a helm chart, simply follow the normal deployment procedures:
如果您理解以上内容,但想要将 Dapr 控制面板部署到Windows,您可以通过设置这样做:
为了在 Windows 上启动 Dapr 应用程序,您需要首先创建一个安装应用程序的 Docker 容器。 指南见 开始:为容器准备 Windows。 一旦你拥有一个带有应用程序的Docker container,创建一个 deployment YAML 文件,节点亲和性设置为 kubernetes.io/os: windows。
创建一个 deployment YAML
这里是一个示例 deployment ,节点关联性设置为“windows”。 根据您的应用程序的需要修改。
部署到您的 Kubernetes 集群
Linux 应用程序
如果您已经在 Linux 上有运行的 dapr 应用程序, 您仍然需要像以上添加亲和性规则,只不过要选择 linux 亲和性。
创建一个 deployment YAML
这里是一个示例 deployment,节点亲和性设置为“linux”。 根据您的应用程序的需要修改。
部署到您的 Kubernetes 集群
- 通过 官方的 Kubernetes 文档 获取更高级的节点亲和性配置的案例
- 在 Azure AKS 上设置一个启用了 Windows Kubernetes 的集群