服务器迁移
背景个人的阿里云服务器是五六年前做的 centos 7 的系统。无论是基于安全性考虑还是实用性考虑,作为个人服务器这个系统都过于老旧了。前几天尝试安装 python 库的时候发现 python 版本太低了。想升级 python 发现 centos7 默认 repo 的 python 包更新不了。再加上多年使用安装过不少无用软件以及各类缓存占用了不少磁盘。所以忍痛决定升级一下操作系统。因为工作机的系统是 ubuntu 22.04,感觉对需要的软件支持都不错。所以这次从红帽系换到 debian 系了,也算是全新尝试。好在之前把大多数服务都改成 docker 部署了,所以痛感不是很强。以下为大体操作记录。
备份因为使用的是阿里云的服务器。所以第一步就是通过快照功能备份了整块云盘。
之后为了方便使用,我备份了以下路径。文件|说明-|-/root/.ssh |root用户的ssh信息/home//.ssh |普通用户的ssh信息/data/_docker |各docker容器的挂载文件/data/docker-compose |所有docker-compose文件/server/* |各种 ...
nginx迁移至caddy
背景说明之前一直使用 nginx 1.12.1,这个版本来自于入行的第一家公司,因为当时用了一些软WAF规则,所以选择了这版nginx一直没升级。后来因为request body size的问题,我一度想更换掉nginx。但是因为只有nginx用的最熟,所以还是更新了版本,没有换别的软件。然后2024年开始,阿里云的免费证书时间从一年变成三个月后,连续两次证书过期,让我坚定了更换caddy的决心。期间也看过类似certbot的功能,但是我古老的centos7系统竟然不能安装最新版certbot,变形导致了我更新整个操作系统。所以在新操作系统安装之后,我直接把nginx换成了caddy。
特性介绍caddy是个比较年轻的代理服务器,他的功能和拓展性在现在这个时间节点应该是不如nginx的,但是他有如下几个特性支持我使用它:
可以自动申请https证书
基本功能的配置简单我基本算是熟练使用nginx了,但是对于个人服务器是使用nginx还是有些难受,因为他太麻烦了。caddy完美解决了我的痛点。至于性能反而是我不需要在意的,对于个人站点来说很难达到任何一种代理服务器的性能上限。
...
aks添加nodepool
1234567891011az aks nodepool add \ --resource-group xxx \ --cluster-name xxx \ --name xxx \ --node-count 1 \ --min-count 1 \ --max-count 25 \ --node-vm-size standard_e20as_v4 \ --vnet-subnet-id "/subscriptions/xxxx/resourceGroups/DEV_AKS/providers/Microsoft.Network/virtualNetworks/vnet-aks-applications/subnets/xxxx" \ --node-taints usedto=nnx:NoSchedule \ --enable-cluster-autoscaler
中文输出
windows下,cmd对中文指出不好,通过fmt包输出的中文会乱码。可以使用以下demo,对cmd的语言预配置。但是目前依旧存在跨平台的问题,windows平台才能使用。所以实际使用中可能需要不同的入口文件对应不同的操作系统。
12345678910111213141516171819202122package mainimport ( "fmt" "runtime" "syscall")func main() { // 判断操作系统类型 if runtime.GOOS == "windows" { // Windows API函数声明 kernel32 := syscall.NewLazyDLL("kernel32.dll") setConsoleOutputCP := kernel32.NewProc("SetConsoleOutputCP") setConsoleOutputCP.Call(uintptr( ...
通过go管理k8s资源
通过go管理k8s资源背景有一个脚本需求,管理 k8s 的资源。因为可能需要 web,并且需要考虑在不同服务器上的适用性,所以没直接使用 shell,选择了 go。但是后来需求变了,这个就不继续了,把现有代码调整一下做个记录。
已实现功能
切换 context
查看所有 ns
查看 ns 的标签
给 ns 添加标签
查看指定 deploy 的 image
通过 exe c进入 pod 执行命令
代码
main.go
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273package mainimport ( "sipg-helper/service")var contextName string = "a-admin"var nsName string = "proj"var deployName stri ...