Kubernetes 部署 Nacos集群

Kubernetes 部署 Nacos集群

官方文档

无持久化存储

  1. 下载 nacos-quick-start.yaml
  2. 修改nacos-quick-start.yaml中的ConfigMap为自己的数据库账号密码
  3. 执行数据库初始化语句
  4. 执行 kubectl apply -f nacos-quick-start.yaml

持久化存储

  1. 下载 nacos-pvc-nfs.yaml
  2. 修改nacos-quick-start.yaml中的ConfigMap为自己的数据库账号密码
  3. 执行数据库初始化语句
  4. 如果使用的是云厂商的k8s服务,nacos-quick-start.yaml中的volumeClaimTemplates部分写法可能会略有不同,华为云云硬盘写法如下:
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      namespace: staging
      name: data
      annotations:
        everest.io/disk-volume-type: SAS  # 云硬盘的类型 https://support.huaweicloud.com/usermanual-cce/cce_10_0613.html
      labels:
        failure-domain.beta.kubernetes.io/region: cn-south-1  # 云硬盘所在的区域
        failure-domain.beta.kubernetes.io/zone: cn-south-2b   # 云硬盘所在的可用区,必须和工作负载部署的节点可用区一致        
    spec:
      accessModes: [ "ReadWriteOnce" ] # 云硬盘必须为ReadWriteOnce
      storageClassName: csi-disk # StorageClass的名称,https://support.huaweicloud.com/usermanual-cce/cce_10_0380.html
      resources:
        requests:
          storage: 10Gi
  1. nacos-pvc-nfs.yaml使用了扩容插件nacos/nacos-peer-finder-plugin:1.1,此时需要设置 SERVICE_NAMEDOMAIN_NAMEPOD_NAMESPACE 这三个环境变量,且必须有nacos-headless无头服务(Headless Services),无头服务的spec.clusterIP的值为 "None"
    如果不想使用nacos-peer-finder-plugin, 修改yaml中的如下两项:
    1. 增加配置环境变量NACOS_SERVERS
                - name: NACOS_SERVERS
                value: "nacos-0.nacos-headless:8848 nacos-1.nacos-headless:8848 nacos-2.nacos-headless:8848"
    
    1. 删除/home/nacos/plugins/peer-finder目录挂载,挂载了此目录后会忽略NACOS_SERVERS环境变量
  2. 执行 kubectl apply -f nacos-pvc-nfs.yaml

注意事项:

  • 如果k8s集群不足3个,需要修改yaml文件中的affinity部分为:
      affinity:
      podAntiAffinity: # Pod 间反亲和性
        preferredDuringSchedulingIgnoredDuringExecution: # 调度器会尝试寻找满足对应规则的节点
        - weight: 100
          podAffinityTerm:
            labelSelector:
              matchExpressions:
                - key: "app"
                  operator: In
                  values:
                    - nacos
            topologyKey: "kubernetes.io/hostname"

即nacos的多个副本由“必须部署在不同节点”改为“尽量部署在不同节点”

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值