diff --git a/requirements.log b/requirements.log new file mode 100644 index 0000000000000000000000000000000000000000..1e7625904c7ad239dd625f520f9142257f541428 --- /dev/null +++ b/requirements.log @@ -0,0 +1,23 @@ +需求: +我有一个简å•的脚本,å¯ä»¥ç»™å®š cpu cores+RAM size+disk size+port forward, 从ubuntuçš„cloudimg创建一个VM出æ¥ã€‚ + +我需è¦ä¸€ä¸ªç¨³å®šçš„软件,它å¯ä»¥è‡ªåŠ¨å¸®æˆ‘ç®¡ç†æ£åœ¨è¿è¡Œçš„VM. 它需è¦èƒ½å¤Ÿï¼š +1. 有一个容易使用的命令行工具. è¿è¡Œå®ƒä¹‹åŽå°±å¯ä»¥ä¸€é”®åˆ›å»ºVMï¼Œåˆ é™¤vm. + +å‚è€ƒç”¨æ³•ï¼ˆå…·ä½“è¯æ³•æŒ‰ç…§ä½ çš„å–œå¥½æ¥ï¼‰ï¼š +vm create #ç„¶åŽinteractive的方å¼è¯¢é—®åå—,CPUæ ¸å¿ƒæ•°ï¼ŒRAM,disk。然åŽè‡ªåŠ¨å¸®å¿™é€‰æ‹©ä¸€ä¸ªç©ºé—²çš„ç«¯å£ forward 22,自动用默认用户å密ç 。 +vm create MY_VM1 cpu=2 ram=1G disk=40G port=30222:22 port=80 port=443 username=recolic password=fuck #就是non-interactive mode. 如果port/username/passwordä¸è®¾ç½®ï¼Œå°±é»˜è®¤è½¬å‘22端å£ï¼Œé»˜è®¤ç”¨æˆ·å密ç 。如果没有说è¦è½¬å‘到哪一个端å£ï¼Œå°±è‡ªåŠ¨é€‰ä¸€ä¸ª +vm info #显示所有的VMä¿¡æ¯ï¼Œä¾‹å¦‚åå—,cpu,ram size,disk size,forwarded ports +vm delete MY_VM1 + +(å¯é€‰ï¼‰å¦‚æžœå†æ”¯æŒä¸€ä¸ªvm copy MY_VM1 new_vmå°±æ›´å¥½äº†ï¼æ³¨æ„端å£è¦è‡ªåŠ¨æ”¹ä¸€ä¸‹ + +2. 会以daemon process的形å¼ï¼Œæˆ–crontab的形å¼ï¼Œåœ¨åŽå°ç»å¸¸æ£€æŸ¥ã€‚å‘现有VM关机了(或崩溃了),就自动帮我é‡å¯ã€‚ +3. 最好是用脚本è¯è¨€ï¼ˆå› 为方便我修改逻辑),编译型è¯è¨€ä¹Ÿå¯ä»¥ã€‚æ‹’ç»python,å› ä¸ºå®ƒåœ¨ç³»ç»Ÿå‡çº§åŽå¾€å¾€ä¼šdependency炸掉。拒ç»java/csharp这类需è¦runtimeçš„è¯è¨€ã€‚å好bash或fish或perl +4. 留出一个类似é…置文件的东西(å¯ä»¥åœ¨ä»£ç 里é¢ï¼‰ï¼Œæ–¹ä¾¿æˆ‘å¶å°”修改port range,修改默认的用户å密ç , 修改cloudimg镜åƒã€‚自动选择空闲端å£çš„æ—¶å€™å°±å‡è®¾è¿™ä¸ªport range没有别人在用,ä¸ç”¨ç‰¹æ„检查。 +5. 最好是程åº+所有的VM+æ•°æ®æ–‡ä»¶+下载好的cloudimage镜åƒéƒ½æ”¾åœ¨åŒä¸€ä¸ªç›®å½•里 (例如/var/myvps/é‡Œé¢æœ‰programs, disks, metadata, images, logså‡ ä¸ªå目录), 并且整个大文件夹移动到其他ä½ç½®ä¹Ÿèƒ½æ£å¸¸å·¥ä½œï¼ˆä¹Ÿå°±æ˜¯ä¸å‡†hardcode)。我有bashå’Œfish的代ç å‘Šè¯‰ä½ æ€Žæ ·èŽ·å–自己被执行时所在的目录。 + +部署方å¼ï¼š +把整个程åºç›®å½•放在任何一个地方,æä¾›ä¸€ä¸ªå‘½ä»¤/脚本/程åºï¼Œä¾‹å¦‚/.../programs/on_start.sh。我通过我喜欢的方å¼ä¿è¯å¼€æœºæ—¶è¿™ä¸ªç¨‹åºè¢«æ‰§è¡Œåˆ°ä¸€æ¬¡ï¼ˆå¦‚æžœä½ å–œæ¬¢ï¼Œä¹Ÿå¯ä»¥è¦æ±‚被用crontabçš„å½¢å¼æ‰§è¡Œã€‚我作为用户都å¯ä»¥ï¼‰ +ç„¶åŽå®ƒä¼šå¯åŠ¨ä¸€ä¸ªåŽå°çš„process,自动帮我开机所有的VM,并且å‘现有VM关机了就自动é‡å¯ï¼Œå‘现需è¦cloudimage就从预定的url下载,å‘现VMè¢«åˆ é™¤äº†å°±æŠŠä¸œè¥¿éƒ½åˆ æŽ‰ï¼Œetc。 +