【Azure 微服务】Service Fabric, 使用ARM Template方式来更新SF集群的证书(Renew SF Certificate)
问题描述
因证书过期导致Service Fabric集群挂掉(升级无法完成,节点不可用)一文中,描述了因为证书过期而导致了SF集群不可用,并且通过命令dd-AzServiceFabricClusterCertificate 或az sf cluster certificate add 来添加证书为辅助证书(secondary cluster certificate) 并通过SF门户页面中的交换主要/辅助证书功能把新上传的证书作与旧证书进行交换。
在本文中,介绍通过ARM Template的修改来实现辅助证书的添加。
执行步骤
测试环境为:SF Silver, 5 Nodes
步骤一:在Key Vault中添加新的Certificate,完成后截图如下

步骤二:在SF的resource group这页面中,选择SF和cluster资源,并导出模板(export template), 进入步骤三的Template View页面

步骤三:在Template view,选择Deploy,直接进入第四步的编辑模板页面

步骤四:在Edit模板的页面中,修改如下内容(非常重要)
- 查找第一个Certificate Thumbprint,并增加红框中内容。需要增加Thumbprint的位置共有3处
|
|
|
- 查找certificateStore,并在所有查到的地方增加如下内容(本例中需要修改certificateStore的位置一共有6个)。
![]() |
步骤五:修改完后Save并返回template view,而后勾选底部的checkbox后点击Purchase,进行cluster upgrade
步骤六:在SF Cluster Upgrade的过程中,可以通过SF 观察每一个UD (update domain)的情况。
- 期间,cluster upgrade的状态会在RollingForwardInProgress,RollingForwardPending间切换。直至RollingForwardCompleted,表示完成。
步骤七:在更新完的Node中,点开Details Tab,可以看到添加证书的指纹信息
步骤八:当所有Upgrade完成后,可以在SF门户上的Security页面上看到新添加的辅助证书信息

步骤九:交换主要/辅助证书(点击证书信息后面三点 ... 进行操作)
注:在此过程中建议采用先添加新的certificate,然后做swap to primary,而不是一开始就直接替换certificate的策略,这样就算这个过程发生些异常,也不会影响当前的cluster及业务的运行。
附录:参考Deploy the template to Azure文档,使用命令进行发布模板
#登录到Azure中
Connect-AzAccount
Select-AzSubscription -SubscriptionId <Subscription ID>
#验证模板是否正确
Test-AzResourceGroupDeployment -ResourceGroupName <Resource Group that your cluster is currently deployed to> -TemplateFile <PathToTemplate>
#部署模板
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName <Resource Group that your cluster is currently deployed to> -TemplateFile <PathToTemplate>
参考资料
Edit your Resource Manager template:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-security-update-certs-azure#edit-your-resource-manager-template
【Azure 微服务】Service Fabric, 使用ARM Template方式来更新SF集群的证书(Renew SF Certificate)的更多相关文章
- 【Azure微服务 Service Fabric 】Service Fabric中应用开启外部访问端口及微服务之间通过反向代理端口访问问题
问题描述 1) 当成功的在Service Fabric集群中部署了应用后,如何来访问呢?如果是一个Web服务,它的URL又是什么呢? 2) 当Service Fabric集群中,服务之间如需要相互访问 ...
- 【Azure微服务 Service Fabric 】因证书过期导致Service Fabric集群挂掉(升级无法完成,节点不可用)
问题描述 创建Service Fabric时,证书在整个集群中是非常重要的部分,有着用户身份验证,节点之间通信,SF升级时的身份及授权认证等功能.如果证书过期则会导致节点受到影响集群无法正常工作. 当 ...
- 【Azure微服务 Service Fabric 】如何转移Service Fabric集群中的种子节点(Seed Node)
注意:在对Service Fabric的节点做操作之前,请务必确认是否是种子节点(Seed Node)且当前节点的数量是否与SF的持久层要求的数量一致. 可靠性级别是 Service Fabric 群 ...
- 【Azure微服务 Service Fabric 】使用az命令创建Service Fabric集群
问题描述 在使用Service Fabric的快速入门文档: 将 Windows 容器部署到 Service Fabric. 其中在创建Service Fabric时候,示例代码中使用的是PowerS ...
- 【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
前提条件 当我们观察到SF中某一个节点出现CPU不正常的情况,但是由于不能肉眼长期观察,所以可以通过开启Performance Monitor的方式来获取每一个进程的%Processer Time的方 ...
- 【一起学源码-微服务】Nexflix Eureka 源码十二:EurekaServer集群模式源码分析
前言 前情回顾 上一讲看了Eureka 注册中心的自我保护机制,以及里面提到的bug问题. 哈哈 转眼间都2020年了,这个系列的文章从12.17 一直写到现在,也是不容易哈,每天持续不断学习,输出博 ...
- 【Azure 微服务】基于已经存在的虚拟网络(VNET)及子网创建新的Service Fabric并且为所有节点配置自定义DNS服务
问题描述 创建新的Service Fabric集群,可以通过门户,Powershell命令,或者是ARM模板.但是通过门户和PowerShell命令时,创建的SF集群都会自动新建一个虚拟网络而无法使用 ...
- 【Azure 微服务】PowerShell中,用Connect-ServiceFabricCluster命令无法连接到sf-test.chinaeast2.cloudapp.chinacloudapi.cn:19000 问题分析
问题描述 Azure Service Fabric提供了PowerShell的指令来进行创建,管理资源,如Get-ServiceFabricClusterHealth 获取当前集群的健康状态,但这些命 ...
- Cloudera Manager安装之利用parcels方式安装单节点集群(包含最新稳定版本或指定版本的安装)(添加服务)(CentOS6.5)(四)
不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 ...
随机推荐
- 牛客编程巅峰赛S2第3场 Tree VI (树,dfs)
题意:给你一个\(n\)个点的完全\(k\)叉树的先序遍历序列\(a\),还原这颗树并且求所有两个端点的异或和. 题解:用dfs在还原树的时候,把子节点和父亲节点的异或贡献给答案,对于每个节点,我们找 ...
- 二进制安装kubernetes(三) kube-controller-manager组件安装
Controller Manager简介 详细介绍请参考链接:Kubernetes组件之kube-controller-manager Controller Manager作为集群内部的管理控制中心, ...
- 力扣119.杨辉三角II-C语言实现
题目 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 来源:力扣(LeetCod ...
- Gym 101170F Free Weights(二分)题解
题意:给出两行,每一行都有n个数组,一共有2 * n个,大小为1~n,每个有两个.现在可以进行操作:拿出一个物品i,然后放到一个空格,花费i.可以任意平移物品,平移没有花费.每一行空间无限.要求你把一 ...
- MDK5生成BIn文件的方法
配置MDK5 生成bin文件的 第一步:方法打开option for Target 第二步:选择 user 第三步:找到After Build/Rebuild 第四步:勾选run,点击文件选择小图标选 ...
- docker-compose All In One
docker-compose All In One docker-compose 多容器应用 $ docker-compose -h Define and run multi-container ap ...
- YouTube 视频下载工具
YouTube 视频下载工具 我不生产视频,只是优秀视频的搬运工! YouTube-dl https://github.com/search?q=youtube-dl https://github.c ...
- js double 精度损失 bugs
js double 精度损失 bugs const arr = [ 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 ]; // [ ...
- css text gradient color, css fonts gradient color
css text gradient color, css fonts gradient color css 字体渐变色 demo https://codepen.io/xgqfrms/pen/OJya ...
- css var & auto width css triangle
css var & auto width css triangle https://codepen.io/xgqfrms/pen/PooeEbd css var https://codepen ...



