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生效即可。