consul部署(k8s部署方式)

这里我们使用helm进行部署

1.下载helm

wget https://get.helm.sh/helm-v3.9.0-linux-amd64.tar.gz

2.配helm的repo源

helm repo add hashicorp https://helm.releases.hashicorp.com

3.编写consul的config.yml文件

global:
  name: consul
# Configure your Consul servers in this section.
server:
  # Specify three servers that wait until all are healthy to bootstrap the Consul cluster.
  replicas: 3
  # Specify the resources that servers request for placement. These values will serve a large environment.
  storage: '10Gi'
  #storageClass: "nfs-sc"   #如配置了SC则将这个打开
  securityContext: # 服务器 Pod 的安全上下文,以 root 用户运行
    fsGroup: 2000
    runAsGroup: 2000
    runAsNonRoot: false
    runAsUser: 0
  resources:
    requests:
      memory: '512Mi'
      cpu: '0.5'
    limits:
      memory: '1Gi'
      cpu: '1'
# Configure Consul clients in this section
client:
  # Specify the resources that clients request for deployment.
  resources:
    requests:
      memory: '256Mi'
      cpu: '0.5'
    limits:
      memory: '512Gi'
      cpu: '1'
# Enable and configure the Consul UI.
ui:
  enabled: true

4.开始安装consul

helm install consul hashicorp/consul --values config.yaml --create-namespace --namespace consul --version "0.43.0"

5.如果集群没有配置SC则会发现POD一直处于pending的情况

[root@master1 consul]# kubectl get po -n consul 
NAME                  READY   STATUS    RESTARTS   AGE
consul-client-bjzvn   0/1     Running   0          110s
consul-client-dlr7n   0/1     Running   0          110s
consul-client-rkdtg   0/1     Running   0          110s
consul-server-0       0/1     Pending   0          110s
consul-server-1       0/1     Pending   0          110s
consul-server-2       0/1     Pending   0          110s
[root@master1 consul]# kubectl get pvc -n consul 
NAME                          STATUS    VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-consul-consul-server-0   Pending                                                     2m16s
data-consul-consul-server-1   Pending                                                     2m16s
data-consul-consul-server-2   Pending                                                     2m16s
因为没有pv创建
[root@master1 consul]# kubectl get pv -n consul 
No resources found

出现上述情况则自己挂载好nfs创建pv就行

[root@master1 consul]# cat consul-pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:
  name: data-consul-consul-server-0
spec:
  capacity:
    storage: 10Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  nfs:
    path: /pvdata/consul0
    server: 172.16.149.202
可以参考以上模板

如果有sc的同学则删掉helm部署在congfig.yaml文件上打开sc改为自己sc的名字即可

posted @ 2022-06-16 15:00  Throb_JL  阅读(1359)  评论(0编辑  收藏  举报