安装Consul集群

如果您的独立的Consul集群或不想使用Consul的话,不需要执行以下命令。 以下命令是将docker版的consul集群安装在您的kubernetes集群上前提是前必须有持久化存储。

如果您还没有初始化持久化存储的,请在这里持久化存储配置好存储类再安装consul集群。

安装

  1. $ kubectl apply -f install/kubernetes/consul/configmap.yaml
  2. $ kubectl apply -f install/kubernetes/consul/service.yaml
  3. $ kubectl apply -f install/kubernetes/consul/statefulset.yaml
  4. $ kubectl apply -f install/kubernetes/consul/ingress.yaml

咱们采用的是StatefulSet的方式部署集群,若您已经有了持久化的存储类,将storageClassName修改成您的存储类包就好。

安装Consul集群 - 图1

ingress.yaml 提供对外访问的入口

configmap.yaml consul cluster server的配置文件

注释

这个kubernetes亲和度问题您可能需要关注一下,如果您的kubernetes是单点,请使用以下注释掉的代码。否由会无法起动服务。

  1. affinity:
  2. podAntiAffinity:
  3. requiredDuringSchedulingIgnoredDuringExecution:
  4. - labelSelector:
  5. matchLabels:
  6. app: consul
  7. component: server
  8. topologyKey: kubernetes.io/hostname
  9. # # 单节点用这个
  10. # preferredDuringSchedulingIgnoredDuringExecution:
  11. # - wight: 100
  12. # podAffinityTerm:
  13. # topologyKey: kubernetes.io/hostname