GCP环境下Helm修改后LoadBalancer SSL策略未更新问题
GKE移除FrontendConfig后LB未恢复默认SSL策略的解决方法
在GKE中通过Helm部署的Ingress关联FrontendConfig配置自定义SSL策略后,移除Ingress的networking.gke.io/v1beta1.FrontendConfig注解并删除FrontendConfig资源,负载均衡器仍绑定原SSL策略,未自动恢复为GKE默认策略。
原因
GKE Ingress控制器为避免误操作导致服务中断,不会在移除FrontendConfig注解时自动重置SSL策略,仅当明确指定新的FrontendConfig配置时,才会更新负载均衡器的前端设置。
解决步骤
- 创建一个空的FrontendConfig资源,不指定
sslPolicy字段,以此触发默认策略的应用:
apiVersion: networking.gke.io/v1beta1 kind: FrontendConfig metadata: name: reset-ssl-policy spec: # 空spec,将使用GKE默认SSL策略
- 更新Ingress的注解,指向这个临时的空FrontendConfig(保留其他原有注解):
# 修改Ingress的annotations部分 metadata: annotations: # ... 其他原有注解 networking.gke.io/v1beta1.FrontendConfig: reset-ssl-policy
- 应用上述配置:
kubectl apply -f frontend-config-reset.yaml kubectl apply -f ingress.yaml
- 等待Ingress控制器完成负载均衡器更新(可通过
kubectl describe ingress test查看事件状态),确认SSL策略恢复默认后,移除Ingress的FrontendConfig注解并删除临时资源:
# 移除注解 kubectl annotate ingress test networking.gke.io/v1beta1.FrontendConfig- # 删除临时FrontendConfig kubectl delete frontendconfig reset-ssl-policy
内容的提问来源于stack exchange,提问作者DISCO
相关产品推荐
相关产品推荐

