Azure Devops 服务器:无法从灾难恢复站点 ADS 门户网站获取 ADS 搜索(代码、Wiki、工作项)
Azure Devops Server: Can't get ADS search (Code, Wiki, Work Item) to work from disaster recovery site ADS web portal
This is the only doc I can find for installing Search on ADS app server。 las,它是模棱两可的,我担心它缺少一些信息,我需要从我的灾难恢复站点 ADS App Server 中获取 ADS 搜索(代码、Wiki、工作项)。
这是设置。 WSFC 和 AOAG 已配置并按预期工作。请注意,APP01 和 APP02 不在 WSFC 中。
使用 APP01 上的 ADS 管理控制台,我成功安装并配置了代码、Wiki 和工作项搜索。将 DB01 作为 AOAG 主节点,当我从 APP01 ADS 门户网站搜索时,结果按预期返回:
现在,我希望能够从 APP02 进行相同的搜索。我的第一次尝试是使用 APP02 上的 ADS 管理控制台来配置搜索,就像我在 APP01 上所做的那样。搜索安装正常,但是当我从 APP02 ADS 门户网站搜索时,出现错误:
我回去重新阅读了上面引用的文档,得出的结论是我应该将 APP01 {drive}:\Program Files\Azure DevOps Server 2020\Search\zip
的内容复制到 APP02 并按照 readme.txt 文件。于是,我卸载了APP01和APP02的搜索,重新安装到APP01上,然后将APP01{drive}:\Program Files\Azure DevOps Server 2020\Search\zip
的内容复制到APP02,按照readme.txt文件中的说明操作,即我运行 Configure-TFSSeach.ps1
在 APP02 上。搜索似乎安装正常 - 来自 .ps1 的所有良好消息,没有错误。但是,当我 运行 从 APP02 ADS 门户网站搜索时,出现与之前相同的错误。
如何从 APP02 ADS 门户网站进行搜索?
好的,所以微软方面没有很好地记录这种情况。他们没有解释如何配置弹性搜索以跨多个节点进行扩展,并且 Microsoft 支持关闭了开发社区上的每张票,并附上通知:“不支持的场景,请联系 Elastic 寻求指导”。
支持在 Azure DevOps Server 单层安装的应用层上安装 Elastic Search 的场景。这基本上就是当您 select 将搜索安装为应用程序层的一部分时发生的情况。
为了安全,Elastic Search绑定了本地loopback IP,第一台服务器(A)没有开放防火墙端口,所以安装第二个应用层(B)时,没办法点在 A.
上的 Elastic Search 实例中
因此,在您已经知道需要扩展的场景中,过程如下:
- 在服务器 A 上安装 Azure DevOps 不安装搜索。
- 在服务器 A 上手动安装搜索(如同独立安装一样)
- 确保打开防火墙以便稍后接收来自服务器 B 的流量。
- Configure IPSec to encrypt the traffic between Server A and Server B.
- 在服务器B上安装Azure DevOps,安装时指向服务器A上的elastic Search实例。
或者在安装过程中完全忽略搜索:
- 安装 Azure DevOps Server A。不要配置搜索。
- 安装 Azure DevOps Server B。不要配置搜索。
- 从 A 或 B 上的 zip 文件夹安装搜索,确保将其绑定到网络 IP 地址。
- 打开所需端口的防火墙。
- Configure IPSec
- If needed change the
network.host
value in C:\Program Files\Azure DevOps Server 2019\Search\ES\elasticsearchv6.2\config\elasticsearch.yml
to bind to a non-local IP address.
- 在 DevOps 服务器 A 上配置搜索以指向弹性搜索实例。
- 在 DevOps 服务器 A 上配置搜索以指向弹性搜索实例。
如果您已经在服务器 A 或服务器 B 上安装了 Elastic Search,您可以进入 Azure DevOps 管理控制台并从服务器中删除搜索功能(实际上不会卸载 Elastic Search,只会删除配置):
然后更改网络绑定:
然后重启弹性搜索服务:
确保指向服务器 运行 ElasticSearch 的完全限定域名或其 IP 地址。如果您只输入主机名,安装向导会将您的设置恢复为 localhost
出于某种不明原因。
另请参阅:
This is the only doc I can find for installing Search on ADS app server。 las,它是模棱两可的,我担心它缺少一些信息,我需要从我的灾难恢复站点 ADS App Server 中获取 ADS 搜索(代码、Wiki、工作项)。
这是设置。 WSFC 和 AOAG 已配置并按预期工作。请注意,APP01 和 APP02 不在 WSFC 中。
使用 APP01 上的 ADS 管理控制台,我成功安装并配置了代码、Wiki 和工作项搜索。将 DB01 作为 AOAG 主节点,当我从 APP01 ADS 门户网站搜索时,结果按预期返回:
现在,我希望能够从 APP02 进行相同的搜索。我的第一次尝试是使用 APP02 上的 ADS 管理控制台来配置搜索,就像我在 APP01 上所做的那样。搜索安装正常,但是当我从 APP02 ADS 门户网站搜索时,出现错误:
我回去重新阅读了上面引用的文档,得出的结论是我应该将 APP01 {drive}:\Program Files\Azure DevOps Server 2020\Search\zip
的内容复制到 APP02 并按照 readme.txt 文件。于是,我卸载了APP01和APP02的搜索,重新安装到APP01上,然后将APP01{drive}:\Program Files\Azure DevOps Server 2020\Search\zip
的内容复制到APP02,按照readme.txt文件中的说明操作,即我运行 Configure-TFSSeach.ps1
在 APP02 上。搜索似乎安装正常 - 来自 .ps1 的所有良好消息,没有错误。但是,当我 运行 从 APP02 ADS 门户网站搜索时,出现与之前相同的错误。
如何从 APP02 ADS 门户网站进行搜索?
好的,所以微软方面没有很好地记录这种情况。他们没有解释如何配置弹性搜索以跨多个节点进行扩展,并且 Microsoft 支持关闭了开发社区上的每张票,并附上通知:“不支持的场景,请联系 Elastic 寻求指导”。
支持在 Azure DevOps Server 单层安装的应用层上安装 Elastic Search 的场景。这基本上就是当您 select 将搜索安装为应用程序层的一部分时发生的情况。
为了安全,Elastic Search绑定了本地loopback IP,第一台服务器(A)没有开放防火墙端口,所以安装第二个应用层(B)时,没办法点在 A.
上的 Elastic Search 实例中因此,在您已经知道需要扩展的场景中,过程如下:
- 在服务器 A 上安装 Azure DevOps 不安装搜索。
- 在服务器 A 上手动安装搜索(如同独立安装一样)
- 确保打开防火墙以便稍后接收来自服务器 B 的流量。
- Configure IPSec to encrypt the traffic between Server A and Server B.
- 在服务器B上安装Azure DevOps,安装时指向服务器A上的elastic Search实例。
或者在安装过程中完全忽略搜索:
- 安装 Azure DevOps Server A。不要配置搜索。
- 安装 Azure DevOps Server B。不要配置搜索。
- 从 A 或 B 上的 zip 文件夹安装搜索,确保将其绑定到网络 IP 地址。
- 打开所需端口的防火墙。
- Configure IPSec
- If needed change the
network.host
value inC:\Program Files\Azure DevOps Server 2019\Search\ES\elasticsearchv6.2\config\elasticsearch.yml
to bind to a non-local IP address. - 在 DevOps 服务器 A 上配置搜索以指向弹性搜索实例。
- 在 DevOps 服务器 A 上配置搜索以指向弹性搜索实例。
如果您已经在服务器 A 或服务器 B 上安装了 Elastic Search,您可以进入 Azure DevOps 管理控制台并从服务器中删除搜索功能(实际上不会卸载 Elastic Search,只会删除配置):
然后更改网络绑定:
然后重启弹性搜索服务:
确保指向服务器 运行 ElasticSearch 的完全限定域名或其 IP 地址。如果您只输入主机名,安装向导会将您的设置恢复为 localhost
出于某种不明原因。
另请参阅: