go语言开发cni插件 go语言开发ide( 四 )


static :为容器分配一个静态IPv4/IPv6地址,主要用于debug
meta插件:并非单独使用
bandwidth :使用Token Bucket Filter(TBF)来限流的插件
flannel :flannel网络方案的CNI插件 , 对应于flannel配置文件
portmap :通过iptables配置端口映射
sbr :为网卡设置source based routing
tuning :通过sysctl调整网络设备参数
firewall :通过iptables给容器网络的进出流量进行一系列限制
实验内容:go安装社区维护的CNI相关插件,在linux主机上创建一个network namespace , 再利用安装的网络插件给这个linux network namespace配置好网络 。实验方法教程参考的是 这里
安装cni插件:
linux上创建一个network namespace:
设置网络参数:
vi /etc/cni/net.d/10-myptp.conf
模拟给容器配置网络:
返回值
测试网络是否可用:
进入namespace,ping一下百度的DNS
清除:
最后多说一句,所谓的云服务其实就是基于网络的服务,好好规划网络可以充分利用数据中心的资源,只有充分利用数据中心的资源,才能称之为云计算 。
Go语言有什么好用的IDE吗我喜欢jetbrains系列的IDE+go插件 。不过我要说的是这个问题主要看你的观点如何 。
说eclipse:
构建方式是使用go install 命令,每一次编译运行都是go install 。这样的好处就是如果你有很多的包,下载下来并没有编译,这样每次编译速度是很快的 。而且(?。ゞo install 符合go官方的项目结构,官方说过了,一个go的项目应该是以个gopath,包含src,pkg,bin三个主要目录 。所以说go install个人认为才是主要的go编译方式 。
说eclipse的缺点:
其实eclipse插件的go编译方式,还有目录结构,项目结构,都是非常完美的?。。。≌娴暮芡昝溃】墒?nbsp;, 他的代码提示,太差件!大括号都不能自动补全,gdb 32bit 64bit兼容问题 , eclipseC++ 没有html js插件,需要手动安装,几乎不能开箱即用 。不过如果你是开发算法 , 数据处理 , 还是推荐eclipse的,毕竟其他都无关紧要 。
说jetbrains:
说先说clione肯定不适合,新建项目没有向导,导致改成go项目各种不开心,比如图标对于我来说就无法接受go lib 不是小耗子~这是次要的,重要的是各个文件都是灰色的(没有在cmake中包含的结果),然后说剩下的,phpstorm这个不说了,估计很少有人插件按在这里,webstorm,体验也不是很好,idea?体验很好,可是毕竟比较重,尤其是现在加入了自家的K啥玩意(无意冒犯 , 没记住单词)~可是话说回来,go跟C系列IDE配合才是最佳 , 跟java系列一点不搭关系,用idea似乎有点格格不入,但是!idea支持新建项目向导 , lib的图标也很清晰,最后还是选择idea吧,期待clion的强大起来!
再说jetbrains系列缺点:
插件的构建方式是go buiild 这个让人很不爽,我们几乎不确定会构建到什么地方去,还要每次设置一下run配置 。这个可能无关紧要 , 毕竟不是什么大的毛?。?可是go build不能缓存.a文件,直接构建的结果就是很多第三方包的情况下很慢!所以建议安装包的时候手动install 一下解决这个问题 。自带代码格式化,这个格式化跟go 格格不入,总的来说就是蛋疼 , 心碎,菊花痒 。
最后说liteIDE:
轻量级IDE , 我可以说是国人GO伟大作品典范 , 然而默认构建也是go build,项目管理方式不符合go官方标准 。代码提示不能自动导入(eclipse也不能),不过如果你的项目是以包为单位的,那么另当别论 。一定很不错,毕竟是轻量级专门针对GO的IDE!

推荐阅读