跳转至

第四章:配置管理

命名空间管理

创建命名空间

# 创建私有命名空间
curl -X POST \
  'http://localhost:8070/apps/order-service/namespaces' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "redis",
    "format": "properties",
    "isPublic": false
  }'

# 创建公共命名空间
curl -X POST \
  'http://localhost:8070/apps/order-service/namespaces' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "common",
    "format": "properties",
    "isPublic": true
  }'

关联命名空间

# 关联公共命名空间
curl -X POST \
  'http://localhost:8070/apps/order-service/namespaces/common/associations' \
  -H 'Content-Type: application/json' \
  -d '{
    "appId": "order-service",
    "clusterName": "default",
    "namespaceName": "common"
  }'

配置项管理

添加配置项

# 添加配置项
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/items' \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "spring.datasource.url",
    "value": "jdbc:mysql://localhost:3306/order_db",
    "comment": "数据库连接"
  }'

修改配置项

# 修改配置项
curl -X PUT \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/items/spring.datasource.url' \
  -H 'Content-Type: application/json' \
  -d '{
    "key": "spring.datasource.url",
    "value": "jdbc:mysql://192.168.1.100:3306/order_db",
    "comment": "数据库连接(更新)"
  }'

删除配置项

# 删除配置项
curl -X DELETE \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/items/spring.datasource.url'

配置发布

发布配置

# 发布配置
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/releases' \
  -H 'Content-Type: application/json' \
  -d '{
    "releaseTitle": "v1.0.0",
    "releaseComment": "更新数据库连接",
    "releasedBy": "admin"
  }'

回滚配置

# 获取历史版本
curl 'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/releases'

# 回滚到指定版本
curl -X POST \
  'http://localhost:8070/releases/{releaseId}/rollback'

灰度发布

创建灰度

# 创建灰度
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/grayscale' \
  -H 'Content-Type: application/json' \
  -d '{
    "operator": "admin"
  }'

配置灰度规则

# 配置灰度规则(按 IP)
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/grayscale/rules' \
  -H 'Content-Type: application/json' \
  -d '{
    "ip": "192.168.1.100,192.168.1.101"
  }'

发布灰度

# 发布灰度
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/grayscale/releases' \
  -H 'Content-Type: application/json' \
  -d '{
    "releaseTitle": "灰度发布 v1.1.0",
    "releaseComment": "灰度测试",
    "releasedBy": "admin"
  }'

全量发布

# 全量发布
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/grayscale/master/releases' \
  -H 'Content-Type: application/json' \
  -d '{
    "releaseTitle": "全量发布 v1.1.0",
    "releaseComment": "全量发布",
    "releasedBy": "admin"
  }'

配置导入导出

导出配置

# 导出命名空间配置
curl 'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/export' \
  -o config.properties

导入配置

# 导入配置
curl -X POST \
  'http://localhost:8070/apps/order-service/clusters/default/namespaces/application/import' \
  -F 'file=@config.properties'

小结

配置管理要点:

  • 命名空间管理:创建、关联
  • 配置项管理:添加、修改、删除
  • 配置发布:发布、回滚
  • 灰度发布:创建灰度、配置规则、发布灰度、全量发布
  • 配置导入导出:导出、导入

下一章我们将学习集群部署。