使用Minikube在本地K8s集群部署Mattermost遇Ingress版本错误
问题根因
Kubernetes v1.22 版本正式移除了 networking.k8s.io/v1beta1 版本的Ingress API,你使用的 mattermost-operator v1.15.0 为较旧版本,默认仍然调用已废弃的v1beta1版本Ingress接口,因此触发匹配失败报错。
可行解决方案
方案1:升级mattermost-operator到兼容版本(推荐)
- 完全卸载当前已部署的v1.15.0版本mattermost-operator相关资源
- 部署v1.18.0及以上版本的mattermost-operator,该版本开始原生支持Kubernetes 1.22+的
networking.k8s.io/v1版本Ingress API,无需额外修改配置即可正常运行 - 重新按照原有流程部署Mattermost实例即可
方案2:兼容现有v1.15.0版本operator修改配置
如果暂时无法升级operator版本,可按照以下步骤调整:
- 找到operator部署的Deployment配置,执行命令
kubectl edit deployment mattermost-operator -n <operator所在命名空间> - 在Deployment的
spec.template.spec.containers[0].args字段中添加启动参数:--ingress-api-version=networking.k8s.io/v1 - 保存退出后等待operator Pod自动重建完成
- 检查你部署的Mattermost实例CR配置,确认Ingress相关字段符合v1版本规范:
- 原有
backend.serviceName、backend.servicePort字段替换为defaultBackend.service.name、defaultBackend.service.port.number - path字段必须配置
pathType属性,一般填写Prefix即可
- 重新apply调整后的Mattermost CR配置即可恢复正常
内容的提问来源于stack exchange,提问作者Lucas Scheepers
相关产品推荐
相关产品推荐

