【低价好物】50块钱一个的移动IEG-100系列9口全千兆边缘智能网关,会翻车吗?
往期【低价好物】合集(从新到旧):
【低价好物】50块钱一个的移动IEG-100系列9口全千兆边缘智能网关,会翻车吗?
【低价好物】50块钱的光纤交换机(三)?皖通邮电ZXWT CTNS 180X&150X
【低价好物】50块钱的光纤交换机(二)?瑞斯康达iTN系列分组传送终端
【低价好物】50块钱的光纤交换机(一)?分组传送终端格林威尔GPN710
【低价好物】让10多年前的防火墙继续在今天发光发热——DPTech FW1000-GC-N
前排提醒:想玩这个东西的难度巨大,文档是完全没有,如果价格不合适或者对自己的水平没有信心,建议不要捡这个,非常容易翻车
前言一时捡漏一时爽,一直捡漏一直爽!刷海鲜市场又看到了好东西,移动的IEG-100系列全千兆边缘智能网关,居然只要50一个??!果断找卖家开聊,卖家表示不能确认这个东西好坏,只知道1、能通电;2、硬件是arm平台;3、卖家完全不会玩,所以没法知道设备的情况。运费10,买两个也是10,所以就一下拍了一对,赌一把,寄了也不亏!拍完之后去网上找了下这个型号的资料,结果搜索结果为零?!牙白,只能到手再说了
外观由于卖家是一 ...
使用 Prometheus + Grafana 替换 Cacti
前言Cacti 应该是目前我唯一没有扔掉的 php 服务了,一直觉得 php 慢的同时还有很多洞,之前已经换掉了 php 搞的可道云,那会儿天天被他的“重要安全更新”搞的很麻,于是可是去 php ,前段时间搭了 Zabbix (还是 php),LTT 在用的 Checkmk (用不习惯),最后还是选了 Prometheus + Grafana ,一是 Go 写的洞少资源占用少,二是可以和我目前已经用的其他监控整合到一起
搭建Prometheus 和 Grafana 的搭建非常简单,网上很多教程,这里不再赘述,go 的项目部署都很容易,重点说一下 SNMP 的配置
SNMP 的 Exporter 也是一个 Go 的项目,直接下载二进制文件部署:Releases · prometheus/snmp_exporter (github.com)
SNMP Exporter 这个东西比较麻烦的地方在于生成他的配置
首先需要准备 Golang 环境,写这篇文章的时候,我使用 1.22.0 ,如果不知道使用哪个版本,可以去看项目里面的这个文件:https://github.com/prom ...
Flutter 版 Node.js ? serverpod 小试
前言说到用一种语言搞定前后端,大家应该首先想到的是 Node.js ,在不是特别追求性能的情况下,使用 Node.js 可以让前端非常轻松的编写前后端程序,降低了学习成本的同时,可以大量复用代码,快速完成开发。
当然这回咱不讨论 Node.js ,主写 Go + Flutter 的我,平时最常做的事情之一就是挂着 JSON to Go 和 JSON to Dart 互相去转模型,然后去写一套服务器端代码,写一套客户端代码。脑子也要在 Go 和 Dart 之间切换。
那么,有没有什么方法在小项目里面简化一下开发流程呢,降低一点儿自己的心智负担呢?如果不限定 b/s 架构的话,之前我尝试过 Go + Fyne 来做,确实不用切换脑子了,但是用 Go 去写 GUI 是一件非常痛苦的事情,当然 Fyne 库是非常好用的(前提是不做复杂 GUI ,不涉及视频),而且不能追求界面太好看,只是“能用就行”。
今天,咱们就来看“更爽一点”的好东西:Serverpod ! 这套东西是用 Dart 写前后端,Dart 这个语言很奇妙,开发时是 JIT ,打包出来 AOT ,所以性能还是很不错的, ...
什么?宁完全不喜欢前端三件套的吗?用 Flutter + Golang 改造 K8s 升级小助手
前言今年二月份的时候,我提了下准备逐渐不用 Fyne ,换一种方式来做 GUI (见这篇文末:Golang 从零开始搭建自动部署平台,一键部署基础服务)
Golang 生态的 GUI 路线主要有三种
我正在用的,基于 OpenGL 的 Fyne 库,实现了一套自绘引擎,纯写 Go
用的比较多的,以 Wails 为代表的传统前端 GUI 方案,套皮 Chrome 类,需要会 html + js + css 三件套
基于 Qt 写 GUI ,最早从 C 那边出来的
准备换的原因,主要是 Fyne 无法应对复杂界面绘制,加上远程桌面默认的 OpenGL 版本很低,程序会跑不起来
基于此,我能选的只有 Wails 为代表的传统前端 GUI 方案。所以我就去稍微看了看前端。我之前也学过一点点前端,博客的主题切换,以及博客 V2 的 dark-mode 都是我写的,也能稍微写一点点,但是每次看前端的时候,那感觉就像上高数课一样,看着看着就要睡着了!说好的前端简单呢😡
因为不知道为什么,前端的内容是一点儿都看不进去,这次看也是越看越困,所以只能放弃这个方案,Qt 那套东西太费劲了。但是该解决的 ...
arm64 真的省电又好用吗?小测一手国产芯
前言早在 21 年初的时候,我当时写了篇文:高性能、低功耗——ARM Server到底香不香?,当时 Arm 的服务器价格还不是很香,一直就没有入手,上个月的时候公司开始提前准备国产化适配了,买台飞腾的机器,据说价格 3w+,就去提了一下其实可以去海鲜市场超低价买一台,于是就搞了台之前文章写的泰山服务器,价格不到 1k ,通过这两台服务器,咱们可以来看看国产的 Arm Server 到底香不香
这里先提一嘴,像 Oracle 云还有 Azure 以及腾讯云阿里云都已经开始在数据中心里面上 ampere 家的服务器了,说明 Arm 肯定整体运行成本肯定要比传统 x86 要好。所以咱们这次讨论 Arm 服务器到底香不香,就仅限定于
①个人玩家用途(不会去正经花大价格买全新带保的那种)
②国产 arm 芯(ampere 的比较贵而且服务器板子不大好找&板子也贵)
简单介绍这一部分,咱们先来看看本次到货的两台服务器都长啥样
华为泰山这个是我推荐的,买的就是 21 年文章里面说的那个,当时那个 999 的并不是实价,二手到手价在 3-4k 左右。而目前的话,配满盘架、带电源阵列卡的价 ...
harbor 搭配镜像加速服务,提升多架构容器分发效率
前言公司软件和镜像仓是在天翼云上,8 台机器共用 20M 带宽,速度非常之慢,全国各地的客户都用这个镜像仓库,k8s 滚动更新用的是组里大哥写的容器管理平台(大部分用这个)和我写的无网更新小助手(少数断网的学校用的这个)。大哥写的容器管理平台做了15分钟的超时,也就是说15分钟没有完成整个更新流程(调度、下载、启动、探针 Ready)就会报异常,所以遇到同时更新的时候,经常被实施被拉去看更新异常原因,一去看异常基本上都是15分钟镜像没下载出来,实施不会看异常原因,也不会等镜像下载到本地了之后重新走更新流程(镜像拉取策略是 IfNotPresent,超时了等下载完成再重新更新就行,但是停了之后重新走流程已经下载的进度会丢),只会找运维看原因,每次让他们等镜像下完了再重新滚动更新也不懂,很无奈。
前段时间,隔壁组的大佬提出来可以用免费的镜像仓来加速,推荐了阿里、华为、天翼云的容器镜像加速服务(都不要钱),正好最近在做国产化适配,给容器上多架构镜像,就一起做了,解决下这个问题
思路公司目前的 CI 是用 Jenkins +Shell 脚本做的,有一说一,用过 Github Action 和 ...
k8s NFS 服务器更换 ip 后持久卷处理
前言k8s 的服务器在安装完成后,难免会遇到服务器需要整个更换 ip 段的情况,虽然很麻烦,需要改各种外部依赖的 Endpoints、重装 k8s ……但是也不得不做,其中最麻烦的就属以 NFS 为基础的持久卷了
遇到的小问题k8s使用的 NFS 服务器更换 ip ,会导致 pvc 挂载不上,按说修改下挂载参数的 NFS 服务器 ip 就行,而挂载参数是在 pv 里面设置的,但是 pv 在创建后里面的参数无法修改,使用 kubectl edit 时候提示 k8s 禁止修改已经创建好的 pv
尝试解决狗歌搜索下,发现前人也遇到了这个问题 https://serverfault.com/questions/1033326/kubernetes-persistencevolume-nfs-ip-change
文章里面第一个回答本质还是去改 pv 的配置,等 kubectl apply -f pv.yaml 就会发现 kubectl 提示不能更改,看到了下面提供了一个 k8s 论坛的链接:https://discuss.kubernetes.io/t/update-persistentvol ...
Golang 从零开始搭建自动部署平台,一键部署基础服务
前言为什么要做公司用到的中间件和用到的组件超级多,JDK、Nginx、Docker、Rabbitmq、Harbor、Mysql、pgsql、MinIO……大概有 20 多个,虽然写了部署文档,直接复制粘贴就能部署,但是每次都得折腾差不多 5-6 个小时左右,而且这期间得一直盯着,和组里另一个运维(已经奏了😭)聊天的时候,他是这么说的:“来公司的别的没学会啥,复制粘贴倒是变得很熟练了😂”
做了一段时间之后,总感觉每次都这么折腾很没有意义,纯属浪费时间,就决定要把这个过程自动化
为什么不选择 Ansible在运维(网工也有)自动化部署里面,有着非常好用的工具——Ansible ,那么为什么还是要自己折腾一番,自己单独搞一套出来捏?考虑按照优先级有以下几点
想做一些定制化的东西,用 Ansible 不大好弄
有一些定制化的需求,如果是自己开发就很好做,但是用 Ansible 就不大好整,随便举几个例子
1、公司的软件仓库非常慢(共享 20Mbps 带宽,和镜像仓和代码仓还有一堆服务器共用,在开发提交代码、CI/CD 传镜像和客户服务器下载镜像的时候下载会非 ...
Golang 写爬虫快速拿到数据的小技巧
前言最近在帮忙做内蒙那边的爬虫项目,因为公司基本上都是做业务开发的,会写爬虫的基本上是没有,我之前又做过一点,所以就找到我咯
目标是爬取知网、超星期刊和读秀的文章数据,不过知网那边在做的时候史诗性的加强了反爬虫策略(①今天打开和明天打开的页面都看起来一样,但是元素的位置变了 ;②需要获取文章的链接,但是链接在 5 分钟到 3 小时左右的随机时间就会过期,这就导致批量获取完链接再去抓详情页的数据的时候进不去详情页了😂)
协商之后,只需要做超星和读秀的,难度小了不少
验证码由于提供的服务器没有显卡,加上 CPU 的性能也比较拉,人家不愿意给设备加钱但是愿意盯着去手点验证码,这块就没有怎么去折腾,知网的验证码比较简单,当时尝试了 OCR 的方法,用的 sml2h3/ddddocr: 带带弟弟 通用验证码识别OCR pypi版 (github.com) 这个搭了个 API Server ,然后去调它的接口拿 OCR 的结果,知网验证码的问题解决了,读秀和超星是一套验证码机制,里面是扭曲图形加扭曲文字的形式,因为上面的原因,就没有深入研究
开发按说爬虫一般都是用 Python 写,也 ...
Golang 搞定 k8s 应用无网自动化滚动升级
前言我们有一些客户为了网络安全,在我们把服务部署完之后,就把服务器全部断开外网访问,在我们需要更新的时候,给我们一个 Windows 的跳板机,我们需要先找一台 Linux 的机器 dcoker pull image ,然后 docker save 保存 tar 包,scp 保存这个 tar 包到电脑,用 ToDesk 把这个 tar 包传到跳板机,然后在跳板机上 scp 这个 tar 包到 k8s 集群的各个节点上,然后 kubectl edit deployment.apps 修改应用负载配置文件里面 image 配置,把 tag 修改成新版的,然后 kubectl get pods 查看启动情况,如果没有启动再 kubectl logs -f 看日志
上面这套流程,实在是太过麻烦,公司有一套应用中心,可以直接滚动升级,之前的文章也稍稍提到过,但是这个应用中心设计的时候要求必须联网才能使用,需要和公有云上面跑的应用市场联动,如果没有外网就不能用它一键升级,也就得回到上面叙述的超复杂更新流程
体会了几次这样的流程,加上开发那边发版频繁,每次更新都走一遍这样的流程,实在是不能忍,反复的 ...