k8s自动部署Hexo博客
刚开始时候博客部署在Github Pages上面,当时感觉用了github的托管就没啥归属感。再接着使用rsync将github action生成的public文件夹同步到国内云服务器的caddy服务器里面,使用自己的服务器域名,但是rsync这个方案不太优雅每次部署时阿里云都会有访问告警。现在自己的k3s集群起来了一切就好说了。 主要的想法是CI部分依旧白嫖github,将编译好的网站文件夹连同caddy服务器打包成docker镜像,依靠Helm3实现CD。 这里先放出完整的github ci文件 The deploy_hexo updated at: 2022.08.01 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556name: deploy_hexoon: push: branches: - hexo # default branchjobs: deploy_hexo: runs-on: ...
Homelab篇章三:ingress-nginx白嫖自动https
前文安装k3s时禁用了traefik,之前在实习的时候公司自研SaaS平台就用了consul服务发现配合traefik路由的结构,整体感觉下来微服务后端的发现与治理无需太多人工干预,且这两个安装也很简单,体验确实不错。不过本系列没有那么重的需求,且ingress-nginx功能更多的说~ helm配置 helm简而言之就是k8s的模版仓库。helm v2需要在目标集群里安装Tiller,在越来越大的云环境下导致了越来越多的安全问题,所以在v3版本就没有Tiller这个东西了,配置也是简单到只需要搞定本地的kubeconfig文件再安装个helm v3命令行工具就可以了。Mac直接使用homebrew即可: 1brew install helm 提一嘴,helm指向的集群是和本机kubectl指向的是一样的~所以切换集群就是直接切换kubectl的context即可。 安装ingess-nginx helm部署很简单,按照这里的知道就行。首先添加repo并更新: 12helm repo add ingress-nginx https://kubernetes.github.io...
k8s镜像仓库国内访问
本文章代理仅作为获取镜像使用!其他一切概不负责,不提供技术支持、镜像加速等服务! 直接简单的方法就是搞个魔法服务器,自己部署registry,详细过程参考这位大佬的教程Docker 镜像加速教程,自己也参考了很多非常感谢🙏。然后我们来说一说穷人的解决方法!经过实际测试发现由Docker出品的registry是可以通过http_proxy和https_proxy两个环境变量进行代理的,所以方法也就不言而喻了。但是为了解决DNS污染和实现Docker部署,还需要做点小改动:简单来说就是利用容器编排工具启动两个container,一个运行register,另一个运行提供代理的软件;最后通过反向代理将服务暴露出去并提供自动https等功能。 本blog完整的代码位于github,觉得可以的话给个小星星也好~ proxy部分 clash直接提供了容器部署,并且也有网页版的dashboard容器,支持所需要的代理类型,所以直接拿来使用。刚开始测试的时候使用docker内部DNS来访问clash容器,不知道为什么及其不稳定,并且考虑到还有使用clash的dns服务器的需要,就直接为c...
Homelab篇章二:部署k3s
基础网络环境已经准备好了,本篇就简单介绍下k3s的安装过程,很简单仅作为备忘录~ 文档地址: 中文文档 英文文档 还是简单分析下安装需求、选项: 基于netmaker构成的虚拟子网安装,所以node-ip就是netmaker分配的IP 节点外部IP就是公网IP fiannel使用的网络接口和node-ip接口对应,即wireguard的iface 穷人没有load balancer(lb需要云服务商提供),直接不部署还是直接用rancher的servicelb好了 不用默认的traefik,想自己部署ingress-ngixtraefik v2真香! 安装过程使用国内的加速 镜像,参考快速入门指南 推荐加--cluster-init参数,使用嵌入式etcd数据库,以便后期的迁移 控制平面部署 1curl -sfL https://rancher-mirror.oss-cn-beijing.aliyuncs.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh -s - server --node-ip <NETMAKE...
Homelab篇章一:netmaker基础设施组网
在前言部分就提到了netmaker,官网首页口号就是你的统一的全互联网络平台,听着挺诱人的哈~综合考虑下来,其实同类的产品项目其实挺多的,比如OpenVPN、ZeroTier等~netmaker可以视作wireguard的管理层面的东西,所以这一套的mesh组网本质就是wireguard,因此wireguard的优势将完全保留。wireguard还是个年轻的项目,依然存在着争议与不足,但是几天使用下来确实还是挺香的~毕竟简介里面有for homelab口号加成!关于wg的介绍,不少都是从这里https://fuckcloudnative.io/了解的,有兴趣大家也去看看。 部署netmaker server 官方提供了多种部署方式,包括docker、裸金属服务器部署、集群部署,也有高可用的解决方案,本次计划只是homelab,所以直接选择一台服务器使用docker-compose进行部署。 部署基本需求 需求来自官方文档,有些不是必须的,推荐有的如下: 静态独立IP 至少1G内存,1核CPU 已备案域名(也不是必须,但是有最好) 安装 DNS设置 在服务器的云解析设置...
Homelab前言:需求与构建
Okay, Here we go! 需求与思考 本篇是整个系列的出发点(需求)与落脚点(构建、架构),需要理一理做Homelab的初衷和需求才可以更好的规划与设计整个架构。说到Homelab,想必大多数人都很陌生,其实这个单词仅仅是home与laboratory的合成,翻译过来也就是家庭实验室(或许称之为家庭小作坊也不为过?)。能在google上查到的Homelab不少都是关于计算机方向的Homelab搭建,其实说来无论是机械、电子甚至于化学等方向,都完全可以搭建独属于个人的Homelab的,只是似乎计算机的门槛更低、覆盖面更广、安全性更高?所以话说回来,什么是Homelab?为什么需要Homelab?怎么搭建Homelab?本篇将说说个人的想法以及设计,谈不上答案,只作一个参考。 那首先简述下啥是Homelab,这里直接就以计算机来说了。顾名思义,位于家庭中的实验室,首先将其与公司、云服务商的计算机设备区别开来:其工作环境一般是个人的车库、仓库、空置房间等,占地面积小、功耗低,无需数据中心的恒温恒湿、大功率柴油发电机等环境条件;一般仅由一台至几台服务器构成计算单元,通过单个交...
OpenWrt编译
环境配置 本地编译 本地编译推荐使用虚拟机,这里仅仅说明vmware下的配置,系统推荐Ubuntu 20.04 LTS 64位服务器版,做如下配置: 配置好网络 方法一:vmware中将该虚拟机桥接至宿主机联网的网卡,使之成为局域网内的一个设备,在路由器上设置该虚拟机为全局代理。 方法二:新建一个虚拟机安装软路由系统,该软路由虚拟机一个网卡桥接至宿主机网络,另一个网卡位于一个仅主机且关闭vmware自带DHCP的虚拟网络内,充当路由器的角色。编译用的虚拟机位于仅主机的虚拟网络内,通过该软路由虚拟机进行上网。在软路由虚拟机中设置编译虚拟机为全局代理。(此方法会导致局域网无法访问虚拟网络,若想ssh登陆编译虚拟机操作,简单方法就是在软路由虚拟机中将编译虚拟机的22端口转发出来)。 更换apt源为国内源(e.g. 清华源) 一定不要使用root用户进行编译⚠️⚠️⚠️ 虚拟机磁盘尽量大点,测试分配60G空间编译Docker是不够的😅 更新软件包: 12sudo apt-get updatesudo apt-get upgrade 个人习惯,这里安装好了会重启一下👌 安...
常用软件推荐
本人常用的一些软件工具,在此留个档~ 全平台 浏览器 浏览器推荐的都是chromium内核的。 现在最新的的Edge浏览器也是chromium内核且兼容Chrome的所有插件,同时插件中心不需要科·学并且支持微软账户直接登陆,在Win10上有着不错的体验,所以使用Windows系统没啥要求的真的很推荐新版Edge。其他系统的话,无脑Chrome就是了(360极速用过一段时间,中规中矩,但是不推荐360安全浏览器)。 Chrome Edge 360极速浏览器 Markdown写作 Typora 所见即所得,并且支持LaTeX公式 Windows 系统KMS激活 这里只说KMS怎么激活,KMS是企业批量激活所以严格意义上不算正版但是使用起来没问题。 KMS是需要一个激活服务器的,可以自己搭建也可以使用人家免费提供的,这里强烈推荐沧水的KMS服务!!我也是一直用这个好多年了没毛病! 食用方法人家网站写的清清楚楚了,自己看吧~直接下载激活脚本用管理员权限运行即可。 office安装 强烈推荐office tool plus 可以选择性的安装office全家桶、Visio等...
系统安装U盘制作
仅记录下几种常用的Windows系统安装方法。本章仅介绍常用安装方法,不涉及破解等。安装前请备份重要数据,本文章对一切造成的数据丢失、无法开机等后果概不负责。 安装镜像下载 Windows 推荐去MSDN,ITELLYOU下载,这是个非赢利的资源站,截止现在有旧版与新版两个站点。旧版的最新的win10镜像版本号为1909,而新版站点在持续更新中但是需要进行登陆(还是推荐走新版吧)。 关于系统版本的说明: 个人使用无特殊要求,推荐最新的pro版本系统,家庭版、教育版缺少部分功能 无脑选择64位系统,即说明里带x86_64或x64字样的 使用KVM激活请下载business edition版本的系统,消费者版本(consumer edition)系统应该只能使用CD-KEY激活(未测试过) 该网站镜像微软,不放心的自己去微软找官方来源镜像进行安装 生产、开发环境,可以考虑使用LTSC版本的系统 该网站给出的下载链接基本都是电驴的,新版网站有BT,但是迅雷以外的下载器速度似乎也不怎么美好的样子,所以。。。这里只能推荐迅雷咯 Linux及其他 linux各个发行版很多,主要推荐...
windows镜像自定义及批量部署
本篇参考了 使用CopyProfile的方法实现Win10应用和开始菜单布局的调整 部署WDS服务来批量安装捕获的Win10系统映像 如有问题请联系删除。 需求 对于硬件一致的设备,大批量部署Windows操作系统,且需要对操作系统进行一定的预配置。 常见的应有场景就是OEM厂商对出场的笔记本等电脑产品预装系统。 镜像结构说明 挂载一个Win10的安装镜像(iso文件),打开后根目录如下,我们只关心sources文件夹下的东西 部署服务需要用到sources下的boot.wim和install.wim文件 如果没有install.wim文件,而是install.esd文件,可以使用Dism++软件将其转换为wim文件。 自定义镜像 在获取自定义镜像前,需要选择一台机器作为模板机,该机器要求系统为全新的系统,这样才能保证模板系统纯净无多余配置、软件,建议模板机使用合适的系统镜像进行全新安装。 进入审核模式 在Windows10系统中,微软加入了审核模式,该模式就是为了让OEM厂商定制系统时使用。与之相对的就是Windows Out of Box Experience...












