3月 9th, 2023
背景
EVE NG的订阅费又涨了,记得2021年还在犹豫要不要在黑五下单1年的pro版本(如果没记错,应该是600多),现在已经1000多了,我就很无语……1000多为啥不买思科的VIRL……,对于我们这种个人付费的用户来说,着实有些贵了。之前朋友一直安利PNET,这回正好尝试下。
区别
其实我到现在也没弄明白PNET和EVE NG的关系,对于使用感受来说,PNET ≈ EVE NG Pro + 一些新功能(比如支持不关闭仿真设备直接变更连线,类似VIRL2),但PNET又不具备一些EVE的高级功能,如集群部署。可是为什么EVE 可以允许PNET免费开放这么多pro的功能?暂时就没有追述原因了;
EVE NG Community的使用问题
我的使用环境是隔离的Lab环境,无法连接外网,访问EVE NG Comunity的GUI,感觉会非常慢,开始我一直觉得是跳板机性能不行,但后来发现不是,就像有些进程一直在尝试联网但导致了超时,从而影响了体验;
现在新增仿真设备时,图标总是启动状态,导致无法编辑,必须连续启动好几个,找没有启动的图标……这个真的很烦人,跟朋友讨论后,应该是一个EVE 的Bug……
EVE NG有很多好用的功能是不包含在Community中的,比如配置保存(有些仿真设备是不支持的)等,这些其实挺影响使用的;
完整阅读
9月 6th, 2022
Background
实验环境打算用trex打流,然后用下面环境测试cable,但物理server配置好路由后,发现只能收路由,不转发流量,我们确认已经开启了ipv4转发的指令,路由也是正常的,但就是不work,所以我在EVE NG的环境上搭了一个类似的环境,确认下是否是trex本身的问题;
# sysctl -a |grep net.ipv4.conf.all.forwarding
net.ipv4.conf.all.forwarding = 1
对于trex内容,请看我之前的相关文章:http://www.zhaocs.info/tag/trex ;
完整阅读
8月 29th, 2022
服务交付架构
Dubbo是基于java开发的,是一个分布式微服务框架(服务调用),如果没有分布式需求,是不需要Dubbo的。
Registry :不管是消费者还是提供者,都需要联系注册中心,只是提供者是注册,而消费者是订阅;Consumer :通过RPC调用Provider提供的方法(如下图的invoke),就像调用本地方法一样;Monitor :监控消费者和提供者的信息;
开发会把代码托管到Git上,进行代码托管,以及版本管理; 运维会通过工具(这里是Jenkins)从Git上拉代码,并编译代码打包成Docker镜像,上传到Harbor数据库中; 运维再通过k8s的资源配置清单,应用到K8s集群中,把服务生成Pod并提供服务; Pod利用Dubbo微服务自动去注册中心注册(ZK,ZooKeeper,类似ETCD),这里的ZK同ETCD一样,不会部署在K8s内,因为是有状态服务; Dubbo微服务的提供者集群和消费者集群部署在K8s中,方便利用K8s的机制并根据实际情况进行灵活的扩容/缩容; 用户通过Ingress规则,找到相应消费者集群,完成服务互动;
完整阅读
8月 18th, 2022
这里只介绍如何部署Dashboard,至于使用方法,会在之前的文章:K8s – Core Resource Management Method GUI部分进行总结;
安装部署Dashboard
上传Dashboard的Image
[email protected] :~# docker pull docker.io/k8scn/kubernetes-dashboard-amd64:v1.8.3
v1.8.3: Pulling from k8scn/kubernetes-dashboard-amd64
a4026007c47e: Pull complete
Digest: sha256:ebc993303f8a42c301592639770bd1944d80c88be8036e2d4d0aa116148264ff
Status: Downloaded newer image for k8scn/kubernetes-dashboard-amd64:v1.8.3
docker.io/k8scn/kubernetes-dashboard-amd64:v1.8.3
[email protected] :~# docker images |grep dashboard
k8scn/kubernetes-dashboard-amd64 v1.8.3 fcac9aa03fd6 4 years ago 102MB
[email protected] :~# docker tag fcac9aa03fd6 harbor.frank.com/public/dashboard:v1.8.3
ro[email protected] :~# docker push harbor.frank.com/public/dashboard:v1.8.3
完整阅读
8月 14th, 2022
coreDNS实现了服务在集群内 被自动发现,那么如何实现服务在集群外 被自动发现呢?这里有两种方法,这里只关注Ingress资源:
使用nodeport service,在这种方法中,kube-proxy只能使用iptables模型,不能使用ipvs模型; 使用Ingress资源,只能调度并暴露7层应用,特质http或https;
常用的Ingress控制器主要有以下几种,这里使用traefik:
Ingress-nginx HAProxy Traefik
注意:ingress资源和ingress控制器不是一个东西(具体可以看最下面的流程图):
ingress资源:专用于暴露7层应用(http/https)到k8s集群外的一种核心资源;
ingress控制器:简化版本的nginx(调度流量)+go脚本(动态识别yaml,主要用于监控ingress配置清单的变化以做出应对),traefik就是其中之一;
安装部署Traefik
上传Traefik的Image
完整阅读