天天看点

Consul部署【在kubernetes集群中部署】【实现ACL机制】

consul具体配置、acl配置可以参考consul系列文章

首先创建k8s-consul-config.json文件,注意token需要自己创建一个,这里加密处理了

创建configmap

kubectl  create configmap consul --from-file=k8s-consul-config.json 上述命令创建一个名称为consul,内容为一个文件,文件名为k8s-consul-config.json,configmap可以挂载在volume下

修改 k8s-consul-statefulset.yaml文件

注意内容: 1、在配置最后挂载了volumes-configmap,就是我们刚刚创建的consul 2、- "-config-file=/etc/consul/config/k8s-consul-config.json" 配置了我们保存的consul acl相关配置 3、requiredduringschedulingignoredduringexecution,我们增加了这个配置,保证了consul的pod不会在同一台机器上运行【反亲和特性】,因为我们将consul/data挂载的是hostpath,如果一台机器启动多个会有冲突导致consul启动卡住。

 最后根据上面的配置重新创建consul的statefulset,启动完成后根据之前consul的知识,我们需要使用master token登录到ui,创建agent token,然后修改configmap中acl配置,增加agent token,具体可以参考之前的文章。然后删除consul的pod,让k8s重新创建新的pod,使我们新的configmap生效即可。

继续阅读