《预防手残 Velero 集群备份部署 初见!》

pre-post()

虽然很早之前就有过用 Velero 对K8S集群备份的了解,但一直没有实施部署,导致由于手欠/BUG对我的K8S造成了一定程度的打击,虽然最后也恢复业务运行了,但着实花了不少时间,而且如果稍微不留神可能会有对整个业务宕机的风险,所以今天就把 Velero 部署起来,并记录一下遇到的一些问题

本文编写使用的环境:

OS: macOS BigSur
Kubernetes: v1.21.2
Velero: v1.6.1

我们照着官网的教程来进行安装,由于踩过网上搜的教程的坑,所以这里以我正确安装的步骤为记录,跳过部分坑

快速扩容 Node 的 podCIDR IP范围

pre-post()

为了更好的压榨节点(因为穷买不起第二台), 所以在单台机器上跑了更多的服务,从而导致了更多的pod需要IP分配,而超量则产生了一个异常 failed to allocate for range 0: no IP addresses available in range set, 节点默认安装下来是 /16 的段,而每个节点会分到 /24 段,这意味着每个节点最多可分配 256 个 POD IP,这对于我这种精扒皮来说远远不够,所以就需要对节点的IP段进行扩容,让每个节点能分到更多的IP

利用 Cloudflare Workers 创建一个跳转友链服务(乞丐级简易版)

pre-post()

水了几篇博文胆子肥了起来,开始到处交换友链,但是想创建一个简便易维护的友链服务,前期先实现能跳转到目标链接,后期想能扩展扩展支持监控友链目标网站的有效状态,结合通知来实现报警,但本篇只实现了 能用 (逃,如果没咕咕咕的话以后会升级代码并支持更高级的功能然后再水一篇发布新文章来介绍。

更新日期: 2021-03-03

域名解析使MX和CNAME共存 解决域名邮箱收发件问题

dns

pre-post()

因为我自己搞了一个域名邮箱,用的腾讯企业邮箱,之前为了上国内CDN从Cloudflare 迁移出来换成 Cloudflare Partner,用 DNSPOD 实现 GEODNS,国内用 百度CDN,国外用 Cloudflare,通过 CNAME 解析指向,但是后面发现一个问题就是域名邮箱突然无法正常收发邮件了,网上通过谷歌和其他博主的博文得知这是DNS的特性导致的(参考5),如果想要解决就只能A+MX的共存方式,但是显然这种方式对我来说弊端很多,另一种方案就是将网站解析到www子域名,把@腾出来给MX,或者将域名邮箱解析到 mail 子域名,虽然对大部分人来说可行,但是对我有点强迫症,我就想用@,毕竟chrome都模糊化www@了,自然是@更适合一点,接下来的方法就是我自己瞎鼓捣出来的,但是又没有查询相关资料证明100%不会出问题,但到目前来看还是很稳的,也不确定放到其他DNS服务商以及其他CDN服务商是否同样有效。

关于《Kubernetes 混合云用Kilo解决NAT节点通讯的问题》的那件事

pre-post()

最近有在学习K8S相关,同时也将自己的所有服务全部都迁移到了K8S集群上,感受到K8S强大的同时也能明显感受到对于我这种一般用户环境的部署不是很友好,例如建议的高可用集群至少要有 三台 Master, 三台 Worker, 对我这种 穷逼 普通玩家来说是很高昂的,但经过几次实践把生产环境搞炸几次后觉得这是有必要的(哭),但我的想法是用K8S作为我主要部署方式,所以还是非常高昂的,像我这种为了能够管理所有节点但是又不会重度使用K8S的,这里推荐 K3S 来代替K8S作为要求不高的生产环境,不过这篇文章还是用完整的K8S来做,但理论上 K3S 是完全通用的。

Docker - 给每个容器配置公网IP

pre-post()

为了方便部署流量转发服务,采用了Docker来干这个事,一般情况下一台节点只有一个IP,使用端口映射或者用参数 --network host 直接使用主机的网络来监听和转发是没有问题的,但是有一些节点会存在多个或一个段的外部IP,这时候虽然 IN 方向没有问题,但是 OUT 方向只会采用主机设置的默认路由来访问,就导致了转发的流量都使用同一个IP转发出去了,这是不对的,所以接下来就研究如何才能自定义出口流量,这篇文章则采用给容器配置外部IP的方式实现。

此方法适合非NAT主机