1 ECeph扩容
该章节仅针对eceph融合部署场景,独立部署请参考对象存储独立部署及升级手册
注意:若ECeph集群有更换证书需求,可在eceph配置块下tls部分进行更新。需要将数字证书和证书密钥经过base64编码之后填入(记得去掉换行符)。
cat 数字证书.crt | base64 | tr -d '\n'
cat 证书密钥.key | base64 | tr -d '\n'
- 获取配置,执行:proton-cli get conf > cluster.yaml
- 编辑配置文件,编辑后保存(配置文件示例如下)
- 进入安装包解压目录,执行扩容:proton-cli apply -f cluster.yaml
- 扩容后确认eceph服务,执行:kubectl get pod -n anyshare | grep eceph
0# 注:1# 1、该配置文件仅为示例说明,最终以实际环境中获取到的配置为准,配置文件中不涉及修改的组件无需关注2# 2、配置文件中节点ip、内部ip(若未使用内部ip,无需加上internal_ip这行配置)、hostmname信息请根据实际环境填写3# 3、单节点单master环境中数据服务均为单副本,扩容到三节点三master后,服务副本数与全新部署的三节点环境保持一致(nebula除外)4# 4、各服务hosts列表中的节点名称必须包含在nodes列表内5# 5、opensearch不扩容,proton-etcd、zookeeper之后单独执行扩容6# 6、若获取到的配置文件中不存在grafana和prometheus,则忽略这两个组件的修改7 8apiVersion: v19nodes:10- internal_ip: 11.0.0.411 ip4: 10.3.91.10112 name: node-91-10113- internal_ip: 11.0.0.29 14 ip4: 10.3.91.10215 name: node-91-10216- internal_ip: 11.0.0.30 17 ip4: 10.3.91.10318 name: node-91-10319cms: {}20cr:21 local:22 ha_ports:23 chartmuseum: 1500124 cr_manager: 1500225 registry: 1500026 rpm: 1500327 hosts:28 - node-91-10129 - node-91-102 30 ports:31 chartmuseum: 500132 cr_manager: 500233 registry: 500034 rpm: 500335 storage: /sysvol/proton_data/cr_data36cs:37 addons:38 - node-exporter39 - kube-state-metrics40 cs_controller_dir: ./service-package41 docker_data_dir: /sysvol/proton_data/cs_docker_data42 etcd_data_dir: /sysvol/proton_data/cs_etcd_data43 ha_port: 1664344 host_network:45 bip: 172.33.0.1/1646 pod_network_cidr: 192.169.0.0/1647 service_cidr: 10.96.0.0/1248 ipFamilies:49 - IPv450 master:51 - node-91-10152 - node-91-102 53 - node-91-10354 provisioner: local55installer_service: {}56grafana:57 data_path: /sysvol/grafana58 hosts:59 - node-91-10160 resources:61 limits:62 cpu: "1"63 memory: 3Gi64 requests:65 cpu: 500m66 memory: 2Gi67kafka:68 data_path: /sysvol/kafka/kafka_data69 env: null70 hosts:71 - node-91-10172 - node-91-102 73 - node-91-10374 resources:75 limits:76 cpu: "1"77 memory: 2Gi78 requests:79 cpu: 500m80 memory: 1Gi81nebula:82 data_path: /sysvol/nebula83 graphd: {}84 hosts:85 - node-91-10186 metad: {}87 password: ffa3b5b81a1344ac202f078e88 storaged: {}89opensearch:90 config:91 hanlpRemoteextDict: http://ecoconfig-private.anyshare:32128/api/ecoconfig/v1/word-list/remote_ext_dict92 jvmOptions: -Xmx8g -Xms8g93 data_path: /anyshare/opensearch94 hosts:95 - node-91-10196 mode: master97 resources:98 limits:99 cpu: "8"100 memory: 40Gi101 requests:102 cpu: "1"103 memory: 2Gi104 settings:105 action.auto_create_index: -company*,+*106 bootstrap.memory_lock: false107 cluster.routing.allocation.disk.watermark.flood_stage: 70%108 cluster.routing.allocation.disk.watermark.high: 65%109 cluster.routing.allocation.disk.watermark.low: 60%110prometheus:111 data_path: /sysvol/prometheus112 hosts:113 - node-91-101114 - node-91-102 115 resources:116 limits:117 cpu: "1"118 memory: 3Gi119 requests:120 cpu: 500m121 memory: 2Gi122proton_etcd:123 data_path: /sysvol/proton-etcd/proton-etcd_data124 hosts:125 - node-91-101126proton_mariadb:127 admin_passwd: eisoo.com123128 admin_user: root129 config:130 innodb_buffer_pool_size: 8G131 resource_limits_memory: 24G132 resource_requests_memory: 24G133 data_path: /sysvol/mariadb134 hosts:135 - node-91-101136 - node-91-102 137 - node-91-103138proton_mongodb:139 admin_passwd: eisoo.com123140 admin_user: root141 data_path: /sysvol/mongodb/mongodb_data142 hosts:143 - node-91-101144 - node-91-102 145 - node-91-103146proton_mq_nsq:147 data_path: /sysvol/mq-nsq/mq-nsq_data148 hosts:149 - node-91-101150 - node-91-102 151 - node-91-103152proton_policy_engine:153 data_path: /sysvol/policy-engine/policy-engine_data154 hosts:155 - node-91-101156 - node-91-102 157 - node-91-103158proton_redis:159 admin_passwd: eisoo.com123160 admin_user: root161 data_path: /sysvol/redis/redis_data162 hosts:163 - node-91-101164 - node-91-102 165 - node-91-103166resource_connect_info:167 etcd:168 hosts: proton-etcd.resource169 port: 2379170 secret: etcdssl-secret171 source_type: internal172 mongodb:173 auth_source: anyshare174hosts: mongodb-mongodb-0.mongodb-mongodb.resource,mongodb-mongodb-1.mongodb-mongodb.resource,mongodb-mongodb-2.mongodb-mongodb.resource175 password: eisoo.com123176 port: 28000177 replica_set: rs0178 source_type: internal179 username: anyshare180 mq:181 mq_hosts: proton-mq-nsq-nsqd.resource182 mq_lookupd_hosts: proton-mq-nsq-nsqlookupd.resource183 mq_lookupd_port: 4161184 mq_port: 4151185 mq_type: nsq186 source_type: internal187 opensearch:188 hosts: opensearch-master.resource189 password: eisoo.com123190 port: 9200191 protocol: http192 source_type: internal193 username: admin194 version: 7.10.0195 policy_engine:196 hosts: proton-policy-engine-proton-policy-engine-cluster.resource197 port: 9800198 source_type: internal199 rds:200 hosts: mariadb-mariadb-master.resource201 hosts_read: mariadb-mariadb-cluster.resource202 password: eisoo.com123203 port: 3330204 port_read: 3330205 rds_type: MariaDB206 source_type: internal207 username: anyshare208 redis:209 connect_type: sentinel210 master_group_name: mymaster211 password: eisoo.com123212 sentinel_hosts: proton-redis-proton-redis-sentinel.resource213 sentinel_password: eisoo.com123214 sentinel_port: 26379215 sentinel_username: root216 source_type: internal217 username: root218zookeeper:219 data_path: /sysvol/zookeeper/zookeeper_data220 env: null221 hosts:222 - node-91-101223 resources:224 limits:225 cpu: "1"226 memory: 2Gi227 requests:228 cpu: 500m229 memory: 1Gi230eceph:231 hosts: #Eceph部署节点232 - node-91-101233 - node-91-102 # 新增Eceph节点234 - node-91-103 # 新增Eceph节点235 keepalived:236external: 10.3.91.105/24 #与节点ip同网段,且未被占用237internal: 11.0.0.168/24 #与内部ip同网段,且未被占用238 tls:239 certificate-data: *** #该字段为加密内容,手册中***代替加密内容,此处内容不用修改240 key-data: *** #该字段为加密内容,手册中***代替加密内容,此处内容不用修改241 secret: eceph-2024-01-08-09-54-54 #此处内容为示例内容,不用修改242
复制
1.1 扩容结果确认
第1步 若使用了内部ip地址,需将内部地址加入防火墙规则,执行:firewall-cmd --add-rich-rule="rule family="ipv4" source address="<内部IP>" accept"; firewall-cmd --add-rich-rule="rule family="ipv4" source address="<内部IP>" accept" --permanent
第2步 登录eceph控制台,添加节点,依次将扩容的节点加入(依次添加节点时需要等待一个节点添加完成后再加入下一个,可刷新页面查看当前节点添加是否完成)
第2步 登录eceph控制台,添加节点,依次将扩容的节点加入(依次添加节点时需要等待一个节点添加完成后再加入下一个,可刷新页面查看当前节点添加是否完成)
第3步 将新加入的节点的磁盘加入到保护域
第4步 修改对象存储信息,登录部署工作台,进入【数据湖】--【对象存储】,将服务器地址修改为vip(proton-cli get conf获取到的配置中eceph的ivip或ovip),图中示例为内部vip:
2 OSS网关扩容
2.1 OSSGateway数据服务扩容
第1步 运行kubectl get nodes --show-labels,查看所有节点的labels信息。其中OSSGateway数据服务所有节点需要有ossgateway/ossgateway-{bucket}=OSSGateway的标签
第2步 扩容数据服务,需要在其他新添加的节点上增加对应的标签,命令如下:kubectl label nodes {nodename} ossgateway/ossgateway-{bucket}=OSSGateway
第3步 查看数据服务是否扩容成功:kubectl get pods -n anyshare | grep ossgateway
2.2 OSSGateway管理服务扩容
第1步 执行命令:kubectl -n anyshare scale deploy ossgatewaymanager --replicas=3
第2步 查看管理服务是否扩容成功:kubectl get pods -n anyshare | grep ossgatewaymanager
2.3 修改cms-release-config-ossgateway配置
第1步 获取cms-release-config-ossgateway配置,执行命令:kubectl get secret cms-release-config-ossgateway -n anyshare -oyaml
第2步 使用base64 -d解码后添加新节点对应的ip信息
第3步 然后重新base64编码,写入cms-release-config-ossgateway,执行命令:kubectl edit secret cms-release-config-ossgateway -n anyshare
2.4 OSSGateway配置更新
第1步 调用如下接口设置内部IP:
curl -X PUT http://kubectl get svc -n anyshare|grep deploy-service|awk '{print $3}'
:9703/api/deploy-manager/v1/containerized/upmulti-instance-service/OSSGatewayService/
说明:无论接口是否报错,均进行下一步检测配置是否成功
第2步 内部IP设置检查
1)查看redis中mongodb内部地址配置是否正确。
运行如下命令获取所有存储的key:
kubectl exec -c redis proton-redis-proton-redis-0 -n resource -- redis-cli --user root --pass eisoo.com123 -n 0 keys_new /ossgw/*
逐个查看所有存储key下的具体value:
kubectl exec -c redis proton-redis-proton-redis-0 -n resource -- redis-cli --user root --pass eisoo.com123 -n 0 GET {key}
2)查看ossgateway-{bucket}的svc的endpoints配置是否正确。
第3步 查看mongodb数据库配置是否完整,此时sys_config中新启动的数据服务pod没有存储配置信息(依次进入mongodb容器连接mongodb,找到mongodb的primary节点进行操作,下图仅为示例)。
第4步 清除sys_config中的配置并重启ossgateway数据服务
-
清除sys_config的命令:db.sys_config.remove({})
-
重启ossgateway数据服务的命令:for i in
kubectl get pods -A|grep ossgateway-|awk '{print $2}'
;do kubectl delete pod $i -n anyshare;done
第5步 界面上修改存储信息,让信息重新写入mongodb:在界面修改存储的IP或者端口(如10002改为10001),保存。有多个存储的话,需要修改多次。修改后查看数据