容器
EKS Ingress 跨账号创建 ALB
在企业级生产环境下,通常会把网络服务,安全服务等产品放在统一一个公网账号下进行管理,各个业务模块也可能使用独立的账号,并且与外网隔离。 EKS 会被部署在隔离环境,那么如何创建对公网的 Ingress 呢?理想的做法是创建 Ingress 的时候直接把 ALB 创建到公网账号下,本文尝试实现这一过程。
使用 LLM embeddings 进行数据存储和检索的新姿势
大语言模型可以将文字转化为 embeddings, embeddings 是一个向量(浮点数) 数组。把向量数组存到数据库,然后我们通过搜索最接近的向量就可以得到搜索结果了。本文试验了这一方式。
一个现成的 ChatGPT 微信机器人
本文是一个集成了 ChatGPT 的简单微信机器人的部署文档,使用了现有的 github 仓库,并进行适当修改,并发布成公共镜像包。当前文档说明为 2.0 镜像包。
调度 Jenkins 任务到 Karpenter 节点池
本文介绍了如何调度 Jenkins 任务到 EKS 集群的 Karpenter 虚拟节点。Karpenter 强大的 Node 组织能力,可以最大程度节约任务运行的成本。
编写 Argo CD 人工部署 API
使用 ArgoCD 可以有效解耦 CI 和 CD。 想象这个场景:当 CI 流程将构建物打包完成,并更新了 Git 部署仓库,此时 CI 流程发通知给相关有审批人员,审批者通过点击链接就可以完成部署。 虽然可以通过登录 Argo CD 的 UI 界面可以完成此操作,但感觉还不够丝滑。
自动化构建多架构(amd, arm)镜像
现在很多软件发行的 Docker 镜像都会支持多架构,Docker 官方也有教程教大家如何实现,并且提供了一个 buildx 插件方便大家实现。本文使用 Gitlab CI 试了一下此插件,主要命令是
docker buildx build --platform...
。在 AWS 构建应用 (Gitlab CI) 最便宜的姿势
Graviton 在 AWS 是性价比最高的(最高节约 40%),而 Spot 实例适合任务类型的负载,最高能有 90% 的节省。而 Gitlab Runner 可以轻松将构建任务调度到这种类型的节点上。
The cheapest way to build applications (Gitlab CI) on AWS
Graviton (ARM) is the most cost-effective in AWS (up to 40% savings), while Spot instances are suitable for task-type workloads and can save up to 90%. Gitlab Runner can easily schedule build tasks to Graviton + Spot instances.
使用 Gitlab in K8S 构建 Maven 类库到 AWS CodeArtifact
在很多项目里,需要共享类库,所以需要一个构建物仓库,在 AWS 就是 CodeArtifact。本文记录了如何使用 Gitlab 自动化构建 Java 类库,并上传到 CodeArtifact。
使用 terraform 增加 EKS 组件
在已经开通了 EKS 的情况下,使用 terraform 给 EKS 集群安装组件。