CICD
使用 Nerdctl 构建多架构镜像
· ☕ 2 分钟
1. Nerdctl 安装 安装 Opscli 1 curl -sfL https://raw.githubusercontent.com/shaowenchen/ops/main/getcli.sh |VERSION=latest sh - 安装 Nerdctl 1 opscli task -f install-nerdctl --arch amd64 2. BuildKit 下载 Buildkit 1 wget https://github.com/moby/buildkit/releases/download/v0.19.0-rc2/buildkit-v0.19.0-rc2.linux-amd64.tar.gz 安装 Buildkit 1 2 tar xvf buildkit-*.tar.gz mv bin/* /usr/local/bin/ 配置 Buildkitd 1 mkdir -p /etc/buildkit /data/buildkit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat > /etc/buildkit/buildkitd.toml <<EOF debug = true root = "/data/buildkit" [worker.oci] enabled = false [worker.containerd] address = "/run/containerd/containerd.sock" enabled = true platforms = [ "linux/amd64", "linux/arm64" ] namespace = "buildkit" gc = true gckeepstorage = 9000 cniPoolSize = 16 EOF 生成 Systemd Unit 文件 1 2 3 4 5 6 7 8

Argo Events 事件驱动工作流
· ☕ 5 分钟
1. Argo Events 工作原理 上面是 Argo Events 官方网站上的架构图,对于事件处理系统,有三个重要的组成 事件源的接入,对应于 Event Source 事件的分发,对应于 Event Sensor 事件的消费,对应于 Event Trigger 事件消息存储在 EventBus 中,默认使用的 NATS。 2. 创建 ServiceAccount 给 Sensor 和 Workflow 创建 operate-workflow-sa operate-workflow-sa 用来授权 Sensor 操作 Workflow 。 1 2 3 4 5 6

Argo 核心组件介绍
· ☕ 5 分钟
1. argo 介绍 Argo 是一个开源项目,它在 Kubernetes 上提供了一系列工具,用于构建和运行应用程序。Argo 的核心组件主要包括以下几个: Argo CD Argo CD 是一个基于 GitOps 的持续交付工具,它允许用户声明式地管理 Kubernetes 集群中的应用部署。Argo CD 通过与 Git 仓库同步,确保集群状态与 Git 仓库中

一些程序构建的优化技巧
· ☕ 2 分钟
持续更新中… 1. Golang 使用 trimpath 移除编译路径,避免暴露编译路径信息 1 go build -gcflags="all=-trimpath=${PWD}" -asmflags="all=-trimpath=${PWD}" -o ./bin/opscli ./cmd/cli/main.go 添加之前异常输出路径 /Users/shaowenchen/Code/Github/ops/main.go,添加之后异常输出路径 main.go 。 -ldflags “-w -s” 移除调试信息,减小

使用 Upptime 无成本监控服务可用性
· ☕ 4 分钟
1. 什么需要拨测服务 今年 GPT 大火,我也部署、开发了几个应用、小程序进行学习。当然,秉承帮助厂商测试功能的原则,目前只有 GPT 3.5 的 API 每天有少许费用,服务器、数据库、带宽都是免费的。 为了节省成本,我没有测试环境,每次提交代码,只要能编译成功就会直接发布