愿给所有被Azure VMSS (Virtual Machine Scale Sets)折腾得上天蹿地的同学们带来一丝丝解脱的希望
我需要用VMSS干嘛捏?美其名是实现一个基于分布式计算的搜索引擎(其实就是将elasticsearch部署到多台机器上,elasticsearch本身支持这种分布式储存和计算,我们只需要当个搬运工就行)
所以我需要 几台机器 + 把几台机器连接起来的网络技术
如Azure官网所说,“小老弟,你要搞这个的话,用我们的VMSS合适不过了呀”
大家最好先按他官网的流程走一走,其实描述得很详细了,奈何:
他是英文的,看得让人头皮发麻 可气的是。。。创建VMSS的界面更新了,但是他¥&%¥@的官网的流程文档没更新大家别慌,其实安装并不是那么简单,是前所未有的简单
在portal界面申请subscription之类的,这点不展开了,不是这里的重点
由于官网已经介绍得比较清楚,我只说我踩坑的地方。
在Networking信息栏,我们需要配置load balancer, 官网要求: 提前订阅一个load balancer服务 真实情况: 除非你有特殊要求,不然你可以在select a load balancer直接新建一个
若按官网要求你会发现他不会帮你建立 **虚拟连接**,导致的结果就是你根本登录不了你的虚拟机,那感觉就像烤好的鸡在你眼前,但你就是不能吃 而且,在一步的验证中你会无任何的输出信息。其他的官网的继续走,至少他没骗我
烤好的鸡来了,接下来就是吃它!然后我遇到了第二坑。兴高采烈了拿着鸡,发现他喵的是带锁的!接下来一起去解锁! 心急的小gor gor小姐姐可以看最这个视频
虚拟机的连接方式需要两个部分:一个是公网ip + 开放端口
公网IP:创建VMSS的时候需要创建load balance,在portal界面找到load balance,然后点击overview,就有个public ip。这个公网IP。开放端口:在load balance里,有个Inbound NAT rules,点击去就可以看到不同虚拟机的端口号错误示范: 在VMSS的portal界面,有个instances里面也有每个虚拟机的信息,点击connect有多个教程,但是不要相信这个渣男,你要这么试,孩子都出生了还不行。
正确做法: 直接
ssh 用户名@公网ip -p 开放端口
然而 你发现,ssh并不能连上(呵呵,脑阔真是嗡嗡疼)别怕,有我
这个端口并不是指上面说的开放端口。其实load balance通过 “公网ip + 开放端口” 映射到了 “虚拟机的私网IP + 虚拟机端口”,这是load balance这家伙干的。所以后续步骤的核心就是找到虚拟机端口和开启端口
查看虚拟机端口:在load balance (portal)->inbound NAT rule点击不同的虚拟机,进去看到的target port就是这个虚拟机端口开启端口: 在VMSS (portal) -> Networking ->Add inbound port rule,把虚拟机端口也加进去在ssh一下,就可以吃鸡了!
愿大家都可以成为好好写文档的孩子,解救我们的勤劳善良可爱的搬运工=_=