Skip to content

关于本页

本页介绍更夫所基于的开源内核 Keep 的通用能力。更夫在其上提供国内化增强:钉钉/企业微信/飞书通知、国产大模型接入、LDAP 认证与值班管理。部署与上手请看快速上手。

认证 ​

此提供商需要身份验证。

  • 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 拉取拓扑。可用于关联和映射,并作为警报和事件的上下文。

提供商方法 ​

此提供商暴露以下提供商方法。它们在 AI 助手中可用。

  • 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 从两个来源获取告警:

  1. 与 Flux CD 控制器相关的 Kubernetes 事件。
  2. Flux CD 资源的状态条件(GitRepositories、Kustomizations、HelmReleases)。

告警包括:

  • GitRepository 操作失败。
  • Kustomization 操作失败。
  • HelmRelease 操作失败。
  • 非就绪资源。

告警严重性基于以下条件确定:

  • Critical:原因中包含 "failed"、"error"、"timeout"、"backoff" 或 "crash" 的事件。
  • High:其他警告事件。
  • Info:正常事件。

连接 Provider ​

Flux CD provider 支持多种身份验证方法:

  1. Kubeconfig 文件内容(推荐用于外部访问)。
  2. API 服务器 URL 和令牌。
  3. 集群内配置(在 Kubernetes 集群内运行时)。
  4. 默认 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 CDArgoCD
拓扑是是
告警是是
资源类型GitRepositories、HelmRepositories、Kustomizations、HelmReleasesApplications、Projects
身份验证Kubeconfig、API 服务器、集群内用户名/密码、令牌
部署模型Kubernetes 控制器服务器 + 控制器
UI 集成否(仅 CLI)是(Web UI)

相关资源 ​

基于 MIT 协议开源的 Keep · 由更夫社区维护