¸ÅÊö
½áºÏ´ó¼ÒCICDµÄÓ¦Óó¡¾°£¬±¾ÆªBlogÖ¼ÔÚ½éÉÜÈçºÎͨ¹ýRancherµÄwebhook΢·þÎñÀ´ÊµÏÖService/HostµÄµ¯ÐÔÉìËõ¡£
Á÷³Ì½éÉÜ
Service Scale
´´½¨example·þÎñ¶ÔÏó¡£
´´½¨service scale webhook¶ÔÏó¡£
µÚÈý·½´¥·¢webhook£¬Íê³Éserviceµ¯ÐÔÉìËõ¡£
Host Sacle
ͨ¹ý°¢ÀïÔÆmachine driver´´½¨ÊµÀý¶ÔÏ󣬴òÉÏscale-up±êÇ©¡£
´´½¨host scale webhook¶ÔÏó¡£
µÚÈý·½´¥·¢webhook£¬Íê³Éhostµ¯ÐÔÉìËõ¡£
webhook½éÉÜ
Rancher webhookµÄ·þÎñÁ÷³Ì´óÖÂÈçÏ£º
Webhook Driver(WD)³õʼ»¯¡£
Router Handler(RH)³õʼ»¯¡£
½ÓÊÕÇëÇóURLºÍMethod£¬Æ¥Åäµ÷ÓÃRH.Execute»òÆäËû·½·¨£¬RH.Execute½âÎöÇëÇóÊý¾ÝµÃµ½WD_Id£¬½ø¶øÖ´ÐÐWD.Execute£¬×îºó·µ»Ø²¢response¡£

»·¾³×¼±¸
Platform
Mac£¬Windows£¬Linux£¬Docker Cloud£¬AWS£¬Azure¾ù¿É²¿Êð¡£

±¾´Î×¼±¸µÄƽ̨ÊÇUbuntu·¢Ðаæ(14.04)£¬ÎªÁ˼æÈÝdocker£¬Ñ¡Ôñlinux·¢ÐаæµÄʱºòÄÚºËÐè¿ØÖÆÔÚ3.10ÒÔÉÏ¡£
Docker
¸ù¾ÝÓû§Ñ¡ÔñµÄƽ̨°²×°dockerÒýÇæ£¬°²×°Ö¸µ¼¿É²Î¿¼https://docs.docker.com¹Ù·½Îĵµ£¬´îÅäRancherʹÓã¬dockerÒýÇæ°æ±¾×îÓÅÑ¡Ôñ1.12.6»òÕß1.13.1¡£
±¾´Î×¼±¸µÄdockerÒýÇæ°æ±¾ÊÇ1.12.6¡£
Rancher

ʵ¼ù²½Öè
Service Scale
´´½¨example service
curl -u "xx:xx"
\
-X POST \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"description": "example service
for scaling",
"name": "webapp",
"system": false,
"dockerCompose": "version: '2'\nservices:\n
NGX:\n image: nginx:alpine\n stdin_open: true\n
tty: true\n cpuset: \"0\"\n ports:\n
- 8787:80/tcp\n cpu_shares: 1024\n labels:\n io.rancher.container.pull_image:
always\n servicename: nginx",
"rancherCompose": " version: '2'\nservices:\n
NGX:\n scale: 1\n start_on_create: true",
"binding": null,
"startOnCreate": true
}' 'http://a.b.c.d: 8080/v2-beta/projects/1a5/stacks' |

´´½¨webhook

Trigger webhook


Host Scale
´´½¨example host


´´½¨webhook

Trigger webhook


|