快速开始

本文档将帮助您快速理解和使用 Connectors 系统。

目录

介绍

适用场景

Connectors 系统提供了一种统一的方式来安全管理您 Kubernetes 集群中与外部系统的连接。通过使用连接器,您可以:

  • 集中管理外部服务的凭证
  • 消除应用代码中的硬编码凭证
  • 确保您组织内一致的访问模式
  • 在一个地方监控和审计服务连接

本指南以 GitHub 为例,但连接其他服务时同样适用这些原则。

预计阅读时间

10-15 分钟

注意事项

  • 本快速入门假设您已在集群中安装了 Connectors Operator、ConnectorsCore 和 ConnectorsGit 组件。有关详细的安装说明,请参见 安装指南
  • 您需要一个 GitHub 账户及具备适当权限的个人访问令牌(PAT)。
  • 连接器状态反映了连接的健康和可访问性。

前提条件

  • 安装了以下组件的 Kubernetes 集群:
    • Connectors Operator
    • ConnectorsCore
    • ConnectorsGit
  • kubectl 配置为与您的集群通信
  • GitHub 账户和有效的个人访问令牌(PAT)
  • 对 Kubernetes 资源的基本了解

流程概述

序号操作步骤描述
1验证所需组件确保连接器基础设施已正确安装
2创建认证密钥创建一个包含 GitHub 凭证的 Kubernetes Secret
3创建 GitHub 连接器配置一个与 GitHub 的连接器
4验证连接器状态检查连接器是否准备好使用

操作步骤

步骤 1:验证所需组件

在创建 GitHub 连接器之前,请验证连接器基础设施是否已正确安装在您的集群中。

  1. 检查 Connectors Operator、ConnectorsCore 和 ConnectorsGit 是否已安装:

    kubectl get connectorscore -A
    kubectl get connectorsgit -A

    您应该看到这两个资源的状态为 "Ready"。

  2. 验证 Git ConnectorClass 是否存在:

    kubectl get connectorclass git

    如果找不到 Git ConnectorClass,则需要先安装 ConnectorsGit。有关说明,请参见 安装指南

步骤 2:创建认证密钥

创建一个包含 GitHub 凭证的 Kubernetes Secret。

  1. 执行以下命令以创建一个包含您 GitHub 凭证的 Secret:

    kubectl create secret generic github-auth \
      --namespace default \
      --type=kubernetes.io/basic-auth \
      --from-literal=username=your-github-username \
      --from-literal=password=your-github-token

    your-github-username 替换为您的 GitHub 用户名,将 your-github-token 替换为您的 GitHub 个人访问令牌。

  2. 验证 Secret 是否成功创建:

    kubectl get secret github-auth -n default

步骤 3:创建 GitHub 连接器

使用 Git ConnectorClass 创建一个连接器到 GitHub。

  1. 将以下 YAML 保存为 github-connector.yaml

    apiVersion: connectors.alauda.io/v1alpha1
    kind: Connector
    metadata:
      name: github-connector
      namespace: default
    spec:
      connectorClassName: git
      address: "https://github.com"
      auth:
        name: basicAuth
        secretRef:
          name: github-auth
          namespace: default
  2. 应用连接器:

    kubectl apply -f github-connector.yaml

步骤 4:验证连接器状态

创建连接器后,检查其状态以确保其正常运行。

  1. 使用以下命令检查连接器状态:

    kubectl get connector github-connector -n default
  2. 要查看详细的状态信息,请使用:

    kubectl get connector github-connector -n default -o yaml

预期结果

成功完成所有步骤后,您将看到以下结果:

  1. GitHub 连接器资源状态显示为 "Ready":

    NAME               CLASS   ADDRESS              READY   AGE
    github-connector   git     https://github.com   True    2m
  2. 详细状态信息中的所有条件均为 "True":

    status:
      conditions:
      - type: ConnectorClassReady
        status: "True"
      - type: SecretReady
        status: "True"
      - type: LivenessReady
        status: "True"
      - type: AuthReady
        status: "True"
      - type: ProxyServiceReady
        status: "True"
      - type: Ready
        status: "True"
  3. 如果连接器配置了代理功能,您还将看到状态中的代理地址:

    status:
      proxy:
        httpAddress:
          url: http://c-github-connector.default.svc.cluster.local

现在,您已经成功创建了 GitHub 连接器并验证其工作正常。

您的应用程序可以使用此连接器安全地访问 GitHub 仓库,而无需在应用代码中直接嵌入凭证。

故障排除

如果您的连接器未达到 "Ready" 状态,请检查以下事项:

  1. ConnectorClass 可用性:确保 Git ConnectorClass 存在:

    kubectl get connectorclass git

    如果不存在,您需要安装 ConnectorsGit。请参见 安装指南

  2. 认证配置:确保 Secret 中的凭证正确且具有适当的权限。

  3. 仓库可访问性:验证在认证参数中指定的仓库是否存在,并且在提供的凭证下可访问。

  4. 检查控制器日志:查看连接器控制器日志以获取详细错误信息:

    kubectl logs -n connectors-system -l app.kubernetes.io/name=connectors-controller-manager

后续步骤

在创建了第一个连接器之后,您可以:

  • 为其他 Git 服务(如 GitLab、Harbor 等)创建连接器
  • 配置应用程序使用该连接器安全访问 Git 仓库