基于 kubernetes 自动集群失败

环境

  • EMQX 版本:5.0.20
  • 操作系统版本:Centos7

重现此问题的步骤

  1. 按照官方文档
    https://www.emqx.io/docs/zh/v5.0/deploy/cluster/create-cluster.html#基于-etcd-自动集群
    里的基于 kubernetes 自动集群使用配置如第二点

图片

  1. 结果出现错误,unknown field

预期行为

正常应该是可以集群部署成功的

实际行为

集群失败
escript: exception throw: {emqx_conf_schema,[#{kind => validation_error,

                                   path => "cluster",

                                   reason => unknown_fields,

                                   unknown => "K8s",

                                   unmatched => "autoclean,autoheal,..."}]}

抱歉,K8s 得小写 k8s

额,应该是文档没有更新,app_name是 v4里面的,在v5应该删除掉了。你把他删除一下就可以了。

k8s 集群方式需要配置 RBAC 规则,让Pod 有权限访问 k8s APIserver
你可以直接用:K8s 部署指南 | EMQX 5.0 文档

一定要通过 EMQX Kubernetes Operator的方式安装吗,是否可以直接k8s部署EMQX后,直接改配置就行了呢,k8s APIserver应该是可以访问的,用了kubectl proxy

不知道这个问题解决了没有。我也遇到了相同的问题。感觉是endpoints中没有名为emqx的资源。所以报错404找不到。不知道你的service是怎么配置的。可以尝试添加一个名为emqx的service来试试看能否成功发现其他节点。下面是我的实验结果