通过Kong实现蓝绿部署
蓝绿部署的起源
蓝绿部署的灵感起源于 “海腾”(海豚),海豚是永远不睡觉的,这是因为海豚有两个脑子,左脑和右脑,平时的时候左脑和右脑都在工作,而在休息的时候右脑是运作的以防止被攻击。
Kong的蓝绿部署简述
“蓝绿“是指蓝色环境和绿色环境,业务开始运行在蓝色环境,当要上新版本的时候,会把新版本更新在绿色环境并进行测试,确定没问题后,会把业务切换到绿色环境。依次类推,再有新版本的时候,就更新蓝色环境,然后业务切换到蓝色环境。我理解的可能有问题,可以留言或者进群大家一起讨论
操作步骤
假设业务刚开始,我们创建一个蓝色环境:
创建upstream
upstreams/ POST
{
"name":"xjj.test.com"
}
创建target
/upstreams/aab0d933-e0c8-4034-a4f1-4c1954567cff/targets
{
"target":"172.16.0.92:8899"
}
- aab0d933-e0c8-4034-a4f1-4c1954567cff 这个是第一步创建的upstream的id
- 172.16.0.92:8899 这个是我自己写的一个服务的ip和端口
创建service
/services/ POST
{
“name”: “xjj.test.com”,
“protocol”:”http”,
“host”:”xjj.test.com”,
“path”:”/“,
“read_timeout”:6000
}创建路由
/routes/ POST
{
“protocols”: [“http”],
“methods”: [“GET”],
“paths”: [“/“],
“service”:{“id”:”6a74901b-a7ab-4924-af49-215b73c6c801”}
}
- 6a74901b-a7ab-4924-af49-215b73c6c801这个是上面创建的service的id
目前的流程是:
- 测试一下服务
现在服务要升级了, 我们创建绿色环境
创建upstreams
/upstreams/ POST
{
"name":"xjj.v2.test.com"
}
创建target
/upstreams/426362c1-e6eb-4542-9a33-931902718249/targets POST
{"target":"172.16.0.92:8810"
}
- 426362c1-e6eb-4542-9a33-931902718249新创建的upstream的ID
- 172.16.0.92:8810 新版本的服务
切换到绿色环境
services/6a74901b-a7ab-4924-af49-215b73c6c801 PATCH
{
“name”: “xjj.test.com”,
“protocol”:”http”,
“host”:”xjj.v2.test.com”,
“path”:”/“,
“read_timeout”:6000
}访问测试
- 现在的流程是:
先写到这里了,有问题进QQ群630300475
还没有评论,来说两句吧...