
# K8s废弃API检查异常处理
#### 检查项内容
系统会扫描过去一天的审计日志，检查用户是否调用目标K8s版本已废弃的API或者API存在废弃的特性。
![](https://support.huaweicloud.com/usermanual-cce/public_sys-resources/note_3.0-zh-cn.png)
由于审计日志的时间范围有限，该检查项仅作为辅助手段，集群中可能已使用即将废弃的API，但未在过去一天的审计日志中体现，请您充分排查。
#### 解决方案
**检查说明**
根据检查结果，检测到您的集群通过kubectl或其他应用调用了升级目标集群版本已废弃的API，您可在升级前进行整改，否则升级到目标版本后，该API将会被kube-apiserver拦截，影响您的使用。具体每个API废弃情况可参见[废弃API说明](https://support.huaweicloud.com/usermanual-cce/cce_10_0302.html#cce_10_0302__section1143094820148)。
**案例介绍**
案例一：
社区v1.22版本集群废弃了extensions/v1beta1和networking.k8s.io/v1beta1 API 版本的 Ingress ，若您从v1.19或v1.21版本的集群升级到v1.23版本，原有已创建的资源不受影响，但新建与编辑场景将会遇到v1beta1 API 版本被拦截的情况。
具体yaml配置结构变更可参见[通过Kubectl命令行创建ELB Ingress](https://support.huaweicloud.com/usermanual-cce/cce_10_0252.html)。
案例二：
如果扫描结果显示，用户代理(userAgent)为**coredns** 的客户端正在访问已废弃或即将废弃的discovery.k8s.io/v1beta1 Kubernetes API，具体路径为/apis/discovery.k8s.io/v1beta1/endpointslices，则需要在集群升级前**手动重启CoreDNS Pod** ，避免因废弃API导致域名解析异常。具体原因及解决方案请参见[如何解决CoreDNS使用废弃API问题](https://support.huaweicloud.com/cce_faq/cce_faq_00490.html)。
案例三：
社区在v1.28版本废弃了对events接口中的allowWatchBookmarks=true Query参数的支持（在v1.29及以后版本又放开了）；在升级到v1.28的时候，若您的组件有使用该Query参数对events进行Watch请求；则需要进行整改，建议客户将allowWatchBookmarks=true Query去掉之后进行升级。
