Why公司因为业务需要,在线下增设了几套新的k8s环境,这几套环境的监控报警都是通过Prometheus+AlertManager来做的,报警消息通过企业微信的api接口推送给指定的用户,但企微新创建的应用必须配置ip白名单才可以推送消息我司线下环境没有固定的公网ip,ip变动后就必须手动更新企微api的ip白名单,否则AlertManager的告警消息就无法推送到企微参考企微开发文档:连接为了企业的数据安全,从2022年6月20号20点之后,新开启的通讯录同步助手与新创建的自建应用必须在管理端配置可信IP,仅配置的可信IP能调用接口这种情况下,就需要一台具有固定ip的机器,来做企微api的反代,让线下环境的ip变动也不影响消息推送How企微的api接口全部采用https协议,https涉及到tls握手的问题,配置传统代理比较麻烦,所以选用sniproxy来直接转发https流量,而不对流量本身做解密这里提供一个测试代理的方法:https://qyapi.weixin.qq.com/cgi-bin/get_api_domain_ip这个接口是用来获取企微api接口ip段的,需要提交ac
家里的机器资源有点空闲了,之前用Docker跑服务每次要升级都要重新敲命令,比较麻烦,准备开个虚拟机跑个轻量K8s,把原来用Docker跑的服务全部迁移到上面,顺便再装个Rancher做图形化界面,方便之后做容器升级等操作,K8s的cronjob也能做比较复杂的定时任务。先介绍下环境:环境版本虚拟机OSRocky8.8Rancher2.7.6K3s1.26.9+k3s10. 初始化这一块就不详细写了,Rocky8和CentOS7差不多,装好之后记得关闭SELinux和Firewalld就行1. 下载K3s安装脚本,安装K3scurl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh > ./k3s-install.sh chmod +x ./k3s-install.shcat ./k3s-install.sh | \ INSTALL_K3S_VERSION=v1.26.9+k3s1 \ INSTALL_K3S_MIRROR=cn \ sh -s - server这里就没有继续使用Docker作为底层cri了,
PVE能折腾的地方还挺多的,也不好每个地方都开个笔记,干脆都记在这里了关闭每次登录时的“无有效订阅”提示PVE的企业源要付费才能用,不然每次登录都会弹出提示,挺烦人的通过修改web页面的js文件,可以关掉这个提示文件的位置在/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js搜索No valid subscription,定位到图示的这个函数把Ext.Msg.show({注释掉,替换成void({修改完之后,刷新浏览器缓存,即可去掉提示添加cpu温度显示要先装好lm-sensors这个包,当然也可以配合其他命令来自定义显示数值在/usr/share/perl5/PVE/API2/Nodes.pm文件中找到$res->{pveversion} $res->{pveversion} = PVE::pvecfg::package() . "/" . PVE::pvecfg::version_text(); $res->{therm
有一批http接口需要通过ip白名单访问,因为我这里没有固定ip,需要开一台云服务器做代理中转请求,squid配置比较方便,简单记一下操作流程因为是http接口,没有https,就没做https相关的配置了使用的镜像:ubuntu/squid:5.2-22.04_beta正向代理(带身份验证)正向代理不需要额外配置就可以代理https先拉取镜像,然后写配置文件,位置无所谓,我这里是/etc/squid/squid.conf# Squid监听端口 http_port 3128 # 认证程序及密码文件位置 auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/pwd # 认证程序的线程数 auth_param basic children 5 # 认证领域?不知道有啥用 auth_param basic realm proxy # 认证令牌的有效期 auth_param basic credentialsttl 2 hours # 是否大小写敏感 auth_param basic casesensitive
局域网里挑了个节点安装了dnsmasq做本地域名解析,本地域名解析到一个固定的worker ip会有单点故障的风险,需要装keepalived来保持一个虚拟ip做本地解析,给其他依赖于域名解析的服务提供高可用入口安装yum和apt源都有预编译的包,就不需要自己编译了yum install keepalived配置修改配置文件/etc/keepalived/keepalived.confglobal_defs { router_id sp-local-keepalived } # 检查本机80端口状态 vrrp_script nginx_api_check { script "/usr/bin/curl http://127.0.0.1:80 &>/dev/null" interval 10 timeout 5 rise 1 fall 2 } vrrp_instance VI_1 { state MASTER # 主节点写MASTER,从节点写BACKUP interface eth0 virtual
老早捡了两个我家云跑服务,刷系统还挺麻烦,正好最近要重新刷,顺手记一下前言先上一张主板图核心soc是RK3328,板载1G内存8G EMMC,千兆网口,TTL的排针是后焊的,能看到uboot和kernel的串口输出,那个HDMI接口实测是有输出的,但外壳上没有开孔,这块主板奇怪的板型也不适合单主板往外放。板载有一颗usb3.0的hub芯片,将soc出来的usb3.0一分为二,一路给板载的usb转sata芯片,另一路给机器屁股的usb3.0接口,其实板载这颗hub芯片是分四路下游的,但有两路空置没有引出,这颗hub芯片似乎有过热的问题,长时间拷文件整个hub芯片带着下游的设备都会消失准备工作首先需要准备一条usb公对公的数据线,rk3328是从usb口下载固件的再准备两个文件AndroidTool_Release_2.58.rarArmbian_20.10_L1-Pro_buster_5.10.26-flippy-56+.imgAndroidTool.rar是瑞芯微的固件下载工具,Armbian.img是flippy大佬编译的armbian系统,armbian是debian的arm架构分
最近要装好多台PVE的机器,记一下一些初始化操作方便直接抄安装的话,除了分区大小和fstype要改一下,其他的倒没什么要记的替换软件源PVE底层是Debian,直接配Tuna的Debian源就行Tuna建议不要配security源的镜像,以便获得最新的安全更新,自己选择吧sed -i s#ftp.debian.org#mirrors.tuna.tsinghua.edu.cn# /etc/apt/sources.list sed -i s#security.debian.org#mirrors.tuna.tsinghua.edu.cn/debian-security# /etc/apt/sources.list把PVE官方的收费企业源注释掉sed -i s/deb/#deb/ /etc/apt/sources.list.d/*添加Tuna的免费企业源cat > /etc/apt/sources.list.d/pve-no-subscription.list << EOF deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/d
1.安装依赖apt-get update apt-get install ca-certificates curl gnupg2.安装gpg密钥,配置tuna Docker-CE源install -m 0755 -d /etc/apt/keyrings curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | gpg --dearmor \ -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ "$(. /etc/os-release && echo &q
之前介绍了Tailscale+Headscale的异地组网方案,最终要实现的目标就是构建起一套跨云的k8s集群,测试过rke的k8s和Tailscale的组合,会有一些奇奇怪怪的问题,导致线下没有公网ip的机器产生几十m/s的异常上传流量,看到网上有大佬做了Tailscale+k3s的集群构建,跟着大佬的脚步搭一个试试。准备工作部署好Tailscale并完成组网将集群各节点的主机名和Tailscale-ip写入到各节点的/etc/hosts文件中Docker的安装参考之前的rancher+k3s的教程,这里不再赘述了Master节点部署下载k3s的安装脚本curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh > ./k3s-install.sh chmod +x ./k3s-install.sh配置环境变量TAILSCALE_IP=<Tailscale网卡对应的IP> EXPOSE_IP=<API Server额外的监听地址>执行安装脚本❗Rancher不同版本的控制台对下游的k3s集
上篇介绍了Headscale+Tailscale的部署过程,也提到了DERP是中转流量的,Headscale默认使用的是Tailscale公司提供的公共DERP服务器组,这些服务器都在大陆地区以外,离大陆最近的是香港、东京两个节点,延迟和带宽都不太理想,在Tailscale打洞失败的情况下连接体验非常差,要改善连接体验就需要自建DERP服务。本篇就着重介绍自建DERP的过程和其中要踩的坑。DERP工作方式在开始搭建之前,需要了解一下DERP的工作方式,为后面的流程避坑。DERP服务器提供两种服务:STUN:以udp方式工作,告知节点通过层层nat后最终对应的公网ip和端口号DERP:以http+websocket方式工作,为节点提供流量转发服务Tailscale的工作逻辑是先走DERP中转尽快建立连接,再尝试打通NAT走直连。Tailscale会先尝试与DERP建立http连接,并升级协议到websocket,打开ws连接后,再尝试通过STUN服务提供的ip端口来打通NAT直连。操作环境云服务器一台,有nginx做反向代理,配置好https证书如果域名不需要备案,服务器80、443端口
鸽了
一定来,不会咕咕咕