Microsoft Service Fabric群集证书创建和配置

时间:2019-03-19 07:19:32

标签: azure-service-fabric

经过几天的阅读,没有取得成功,我想问一些问题以寻求指导。我正在尝试设置一个Azure Service Fabric群集并通过Powershell对其进行访问,以允许我远程管理应用程序,并且文档中似乎存在很大的漏洞,也许对于像我这样的完整新手而言!

我有一个Web API,需要通过在移动设备上运行的Angular SPA进行访问,因此我认为端点必须是公共的,并且可以通过JWT令牌管理安全性,并且没有挑战性。

如我所见,生产环境的部署应涉及几个阶段:-

  1. 主要/服务器证书创建
  2. 创建管理客户端证书
  3. Azure门户部署
  4. 开发计算机配置以允许通过Powershell访问集群

现在我可能误解了文档,所以请随时纠正我。

到目前为止我做了什么:-

  1. 我已经使用Microsoft自签名创建了集群 证书设施作为我的主要/服务器证书。
  2. 我具有由已安装的CA颁发的通配符证书 作为服务器上的管理员证书。
  3. 我已经配置了一个映射我的* .cloudapp.azure.com的CNAME条目 到子域中。

无论如何我都无法连接到我的集群,我无法使用Connect-ServiceFabricCluster通过Powershell进行连接,并且我无法浏览到Service Fabric Explorer,它指出访问被拒绝了:/

任何人都可以为我提供一些有关我需要遵循的启用流程的指导,或者提供指向一些更详细的文档的链接,这些文档实际上提供了有关该流程的有意义的说明。

2 个答案:

答案 0 :(得分:0)

这在过去几天一直让我发疯,所以我发布了此逐步指南,以帮助遭受同样痛苦的任何人。

请注意:这些说明使用门户网站为您创建的内置Microsoft自签名证书,生产系统应具有有效的CA颁发的证书,而我还没有尝试过!

通过门户创建新的Service Fabric集群

创建一个新的资源组

  1. 从左侧菜单中单击资源组,然后单击“添加”按钮
  2. 选择订阅
  3. 输入资源组名称
  4. 选择地区“北欧”
  5. 单击“审阅+创建”,然后单击“创建”

创建一个新的Service Fabric群集

  1. 转到新的资源组
  2. 点击“添加”按钮
  3. 在搜索中输入“ Service Fabric”,然后选择“ Service Fabric群集”
  4. 点击页面底部的“创建”按钮

配置服务矩阵群集

基础

  1. 输入新集群的名称
  2. 选择所需的O /选择
  3. 输入您的用户名和密码(确保Google Drive文档已更新为详细信息)
  4. 选择相关订阅
  5. 从下拉菜单中选择新的资源组。
  6. 从“位置”下拉列表中选择“北欧”。
  7. 点击“确定”按钮

集群配置

  1. 选择节点类型计数为1(除非您要配置其他类型的群集)
  2. 点击“节点类型”部分
  3. 输入“节点类型名称”,例如主要
  4. 在Bronze上选择相关的“耐用性等级”无状态Web api即可
  5. 选择所需的“虚拟机大小”
  6. 除非生产要求5个或更多节点,否则请选择“单节点群集”。
  7. 将“自定义端点”更改为80,8081
  8. 选中“启用反向代理”
  9. 点击“确定”按钮
  10. 再次单击“确定”按钮

安全性

  1. 选择基本的“配置类型”
  2. 选择“ CodeClinic”密钥库
  3. 输入证书名称
  4. 点击“确定”按钮

摘要

  1. 假设通过验证,请单击信息框中包含的“此链接”链接。
  2. 将打开一个新的浏览器选项卡,并在底部的底部有一个“下载为证书”按钮,单击此按钮。
  3. 关闭新标签,然后点击“创建”按钮

现在将花费一些时间来创建和部署您的集群,轻松20-30分钟!

通过单击Key Vault刀片中的“访问策略”菜单选项,然后单击标有“单击以显示高级访问策略”的链接,检查并确保Key Vault具有相关的“高级访问属性”。

确保选中以下选项:-

  1. 启用对Azure虚拟机的访问以进行部署
  2. 启用对Azure资源管理器的访问以进行模板部署

将证书安装到将要使用的任何开发计算机上

  1. 找到下载到您计算机上的pfx文件
  2. 双击Windows资源管理器中的文件
  3. 选择“当前用户”,然后单击“下一步”按钮
  4. 点击“下一步”按钮
  5. 单击“下一步”按钮,未分配密码
  6. 点击“将所有证书放入以下存储区”
  7. 点击“浏览”,然后选择“个人”商店
  8. 点击“下一步”按钮
  9. 点击“完成”按钮

测试连接

返回Azure门户并单击新创建的群集概述,然后等待更新消息消失并且节点变为可用,然后再继续操作!

转到您的Azure密钥保管库,找到您的证书指纹,然后将其复制并粘贴到记事本中以供不久使用。

Service Fabric资源管理器

在Azure门户中找到Service Fabric服务,然后从概述页面中单击“ Service Fabric资源管理器”链接。

  1. 在Chrome中,您将收到消息“您的连接不是私有的” /“ NET :: ERR_CERT_AUTHORITY_INVALID”
  2. 点击页面底部的“继续..”链接
  3. 将向您显示一个弹出窗口,要求您选择要使用的证书

注意:我在这里有一些奇怪的举动,强烈建议您在此时关闭浏览器并清除缓存。

要连接的Powershell ISE命令

可以从“群集概述”刀片上的Azure门户检索

CONNECTION_ENDPOINT THUMBPRINT应该已经在该过程的早期复制并粘贴了,否则无法从Key Vault获得它。

Connect-ServiceFabricCluster -ConnectionEndpoint <CONNECTION_ENDPOINT> `
  -KeepAliveIntervalInSec 10 `
  -X509Credential -ServerCertThumbprint <THUMBPRINT> `
  -FindType FindByThumbprint -FindValue <THUMBPRINT> `
  -StoreLocation CurrentUser -StoreName My

将以上内容复制并粘贴到Powershell ISE命令窗口中的“脚本”窗口中,可通过工具栏按钮访问该窗口,每行末尾的字符确定回车。

答案 1 :(得分:0)

我了解到您无法从应用程序甚至从群集URL连接到群集,对吗? 那么背后的原因如下 1. 为运行状况探测器和后端池配置从服务清单到负载均衡器的确切端口号(运行状况探测器由后端池消耗)。 群集,您将已经连接到用于证书的keyvault,因此此处需要使用power shell命令。如果您已检查群集窗口中的“安全性”选项卡,则可以找到在群集创建期间配置的证书详细信息。

2。此后一次尝试使用以下内容访问 https://custer url:服务清单或负载均衡器配置的端口号/控制器路由/端点