认证
此提供商需要身份验证。
- kubeconfig: Kubeconfig 文件内容(必需:False,敏感:True)
- context: 要使用的 Kubernetes 上下文(必需:False,敏感:False)
- namespace: Flux CD 安装的命名空间(必需:False,敏感:False)
- api_server: Kubernetes API 服务器 URL(必需:False,敏感:False)
- token: Kubernetes API 令牌(必需:False,敏感:True)
- insecure: 跳过 TLS 验证(必需:False,敏感:False)
某些范围可能需要才能通过提供商执行特定操作或查询。以下是相关范围及其用例的摘要:
- authenticated: 用户已授权(强制)
在工作流中
此提供商可用于工作流。
作为"步骤"来查询数据,示例:
yaml
steps:
- name: Query fluxcd
provider: fluxcd
config: "{{ provider.my_provider_name }}"
with:
**_: {value} # 附加参数(忽略)作为"操作"来进行更改或更新数据,示例:
yaml
actions:
- name: Query fluxcd
provider: fluxcd
config: "{{ provider.my_provider_name }}"
with:
action: {value} # 要执行的操作。支持的操作有:
- reconcile: 触发 FluxCD 资源的协调。
# 操作的附加参数。请查看以下工作流示例:
拓扑
此提供商向 Keep 拉取拓扑。可用于关联和映射,并作为警报和事件的上下文。
提供商方法
- get_fluxcd_resources 从 Flux CD 获取资源(,范围:无附加范围)
概述
Flux CD 是一个用于 Kubernetes 的 GitOps 工具,通过自动化部署、监控和应用程序管理提供持续交付。此 provider 允许您将 Flux CD 与 Keep 集成,以获得监控 GitOps 部署的单一窗口。
功能
拓扑
Flux CD provider 从以下 Flux CD 资源拉取拓扑数据:
- GitRepositories
- HelmRepositories
- HelmCharts
- OCIRepositories
- Buckets
- Kustomizations
- HelmReleases
拓扑显示这些资源之间的关系,允许您可视化 GitOps 部署过程。资源分类为:
- Source:GitRepositories、HelmRepositories、OCIRepositories、Buckets
- Deployment:Kustomizations、HelmReleases
告警
Flux CD provider 从两个来源获取告警:
- 与 Flux CD 控制器相关的 Kubernetes 事件。
- Flux CD 资源的状态条件(GitRepositories、Kustomizations、HelmReleases)。
告警包括:
- GitRepository 操作失败。
- Kustomization 操作失败。
- HelmRelease 操作失败。
- 非就绪资源。
告警严重性基于以下条件确定:
- Critical:原因中包含 "failed"、"error"、"timeout"、"backoff" 或 "crash" 的事件。
- High:其他警告事件。
- Info:正常事件。
连接 Provider
Flux CD provider 支持多种身份验证方法:
- Kubeconfig 文件内容(推荐用于外部访问)。
- API 服务器 URL 和令牌。
- 集群内配置(在 Kubernetes 集群内运行时)。
- 默认 kubeconfig 文件(来自 ~/.kube/config)。
使用 Kubeconfig
yaml
apiVersion: keep.sh/v1
kind: Provider
metadata:
name: flux-cd
spec:
type: fluxcd
authentication:
kubeconfig: |
apiVersion: v1
kind: Config
clusters:
- name: my-cluster
cluster:
server: https://kubernetes.example.com
certificate-authority-data: BASE64_ENCODED_CA_CERT
users:
- name: my-user
user:
token: MY_TOKEN
contexts:
- name: my-context
context:
cluster: my-cluster
user: my-user
current-context: my-context
context: my-context
namespace: flux-system使用 API 服务器和令牌
yaml
apiVersion: keep.sh/v1
kind: Provider
metadata:
name: flux-cd
spec:
type: fluxcd
authentication:
api-server: https://kubernetes.example.com
token: MY_TOKEN
namespace: flux-system注意:为了向后兼容,同时支持
api-server和api_server格式。
使用集群内配置
yaml
apiVersion: keep.sh/v1
kind: Provider
metadata:
name: flux-cd
spec:
type: fluxcd
authentication:
namespace: flux-system与 ArgoCD Provider 的比较
Keep 支持 Flux CD 和 ArgoCD 两种 GitOps 部署方式。以下是两种 provider 的比较:
| 功能 | Flux CD | ArgoCD |
|---|---|---|
| 拓扑 | 是 | 是 |
| 告警 | 是 | 是 |
| 资源类型 | GitRepositories、HelmRepositories、Kustomizations、HelmReleases | Applications、Projects |
| 身份验证 | Kubeconfig、API 服务器、集群内 | 用户名/密码、令牌 |
| 部署模型 | Kubernetes 控制器 | 服务器 + 控制器 |
| UI 集成 | 否(仅 CLI) | 是(Web UI) |