AI CICD
1. CI
github actions
gitlab runner
2. CD
flux-prod
安装
curl -s https://fluxcd.io/install.sh | sudo bash
# 验证
flux --version
flux check --pre
配置ssh-key 与本地通信
flux bootstrap git \
--url=ssh://git@github.com/AtlasCloudTeam/flux-synth-dev.git \
--branch=main \
--path="./gitops" \
--private-key-file=id_ed25519
查看部署
kubectl get crd | grep image.toolkit.fluxcd.io
kubectl get pods -n flux-system
SOPS,配置
查看代码
# SOPS
所有的 secret.yml 文件是通过 SOPS加密的
## 配一次(每人)
```bash
age-keygen -o ~/.config/sops/age/keys.txt # 生成私钥
age-keygen -y ~/.config/sops/age/keys.txt # 公钥加进 .sops.yaml
echo 'export SOPS_AGE_KEY_FILE=~/.config/sops/age/keys.txt' >> ~/.bashrc && source ~/.bashrc
sh scripts/install-hooks.sh # 防止明文误提交
sops -d apps/config/config-secret.yaml
```
Windows 第 3 行换成,然后重启 VS Code:
```powershell
[Environment]::SetEnvironmentVariable('SOPS_AGE_KEY_FILE','D:\pub\key\sops-age-key.txt','User')
code --install-extension signageos.signageos-vscode-sops
```
## 改 Secret
直接点开文件改,`Ctrl+S`。新建的 Secret 写完跑 `sops -e -i <文件>`。
## 加人 / 减人
把公钥加进(或删出)`.sops.yaml` 的 `age`,然后:
```bash
for f in $(grep -rl '^sops:' --include='*.yaml' apps gitops); do sops updatekeys -y "$f"; done
```
## 集群密钥
没有这个 Secret,Flux 全线停止发布:
```bash
kubectl create secret generic sops-age -n flux-system \
--from-file=age.agekey=/d/pub/key/cluster-age-key.txt
```
私钥在 `D:\pub\key\` 下:`sops-age-key.txt`(个人)、`cluster-age-key.txt`(集群)。
Git Bash 里写成 `/d/pub/key/...`,WSL 里写成 `/mnt/d/pub/key/...`,都是同一个文件。丢了没法恢复,离线备一份。
argocd
本文来自博客园,作者:王竹笙,转载请注明原文链接:https://www.cnblogs.com/edeny/p/19995295

浙公网安备 33010602011771号