项目介绍
Consul Helm Chart 是一个用于在 Kubernetes 集群中安装和配置 HashiCorp Consul 的 Helm 图表。Consul 是一个服务网格解决方案,提供服务发现、配置和分段功能。通过使用 Helm Chart,用户可以轻松地在 Kubernetes 环境中部署和管理 Consul。
项目快速启动
添加 Helm 仓库
添加 HashiCorp 的 Helm 仓库:
helm repo add hashicorp https://helm.releases.hashicorp.com
安装 Consul Helm Chart
更新 Helm 仓库并安装 Consul:
helm repo update
因为我需要定义一下values.yaml文件,修改调度的节点类型之类的。
所以我是先把Chart 下载回来了
helm pull hashicorp/consul
解压consul 的Chart包
helm install consul -n 要定义的namsapce .
注意事项1:
因为这个是有状态的服务,需要用到statefulsets来部署,需要用到下面这个pvc卷
记得在部署前要把这个pvc和pv创建好,这样pod才能起来。
注意事项2:
因为这个Chart用的不是root用户起的容器,默认我用的efs又是只有root用户才有写入权限,所以出现了下面这种权限拒绝的错误。
kubectl logs -f consul-consul-server-0
Defaulted container "consul" out of: consul, locality-init (init)
==> failed to setup node ID: failed to write NodeID to disk: open /consul/data/node-id: permission denied
解决思路之一就是把这个pvc卷的/consul/data目录随便挂载到一个pod里面,然后在里面执行下面的命令
chmod -R 777 /consul/data
然后重新部署一遍consul,就会发现服务都起来了。
kubectl get pod
NAME READY STATUS RESTARTS AGE
consul-consul-connect-injector-f668674cb-mdfc9 1/1 Running 0 24m
consul-consul-server-0 1/1 Running 0 24m
consul-consul-webhook-cert-manager-754f47dc44-pbttx 1/1 Running 0 24m
评论区