通過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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章