# HTTPS类型负载均衡证书一致性检查异常处理
#### 检查项内容
检查HTTPS类型负载均衡所使用的证书，是否在ELB服务侧被修改。
#### 解决方案
该问题的出现，一般是由于用户在CCE中创建HTTPS类型Ingress后，直接在ELB证书管理功能中修改了Ingress引用的证书，导致CCE集群中存储的证书内容与ELB侧不一致，进而导致升级后ELB侧证书被覆盖。
1. 请登录[ELB控制台](https://console.huaweicloud.com/vpc/#/elb/list/grid)，在"弹性负载均衡 \> 证书管理"界面找到该证书，在证书描述字段中找到对应的secret_id。
   
   图1查询证书   
   ![](https://support.huaweicloud.com/usermanual-cce-autopilot/zh-cn_image_0000001873511260.png "点击放大")
   该secret_id即为集群中对应Secret的metadata.uid字段，可以根据该uid查询集群中Secret的名称。
   您可以通过以下kubectl命令进行查询，其中*\<secret_id\>* 请自行替换。
   ```
   kubectl get secret --all-namespaces -o jsonpath='{range .items[*]}{"uid:"}{.metadata.uid}{" namespace:"}{.metadata.namespace}{" name:"}{.metadata.name}{"\n"}{end}' | grep <secret_id>
   ```
   
   
2. 您可以将Ingress使用的证书替换为ELB服务器证书，即可通过ELB控制台创建或编辑该证书。 
   1. 请登录[CCE控制台](https://console.huaweicloud.com/cce2.0/?#/cce/cluster/list)，前往"服务"页面并选择"路由"页签，找到使用该证书的路由，单击"更多 \> 更新"。注意，这里可能有多个Ingress引用该证书，所涉及的Ingress都需要进行更新，可以根据Ingress的yaml文件的spec.tls中secretName字段判断是否引用该Secret中的证书。
      您可以通过以下kubectl命令进行查询引用该证书的Ingress，其中*\<secret_name\>*请自行替换。
      ```
      kubectl get ingress --all-namespaces -o jsonpath='{range .items[*]}{"namespace:"}{.metadata.namespace}{" name:"}{.metadata.name}{" tls:"}{.spec.tls[*]}{"\n"}{end}' | grep <secret_name>
      ```
      
   
   2. 在监听器配置中，选择服务器证书来源为"ELB服务器证书"，该证书可通过ELB控制台创建或编辑，单击"确定"。
   
   3. 在"配置与密钥"界面删除对应的Secret，删除前建议先备份。
   
   
   
   
 
