快速开始

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

介绍

适用场景

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

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

本指南以 GitHub 为例,但相同的原理适用于连接其他服务。

预计阅读时间

10-15 分钟

注意事项

  • 本快速开始假设您已经在集群中安装了 Connectors Operator、ConnectorsCore 和 ConnectorsGit 组件。详细安装说明请参见安装指南
  • 您需要一个 GitHub 账号和具有相应权限的个人访问令牌(PAT)。
  • Connector 状态反映连接的健康状况和可访问性。

前提条件

  • 已安装以下组件的 Kubernetes 集群:
    • Connectors Operator
    • ConnectorsCore
    • ConnectorsGit
  • 已配置 kubectl 与您的集群通信
  • GitHub 账号和有效的个人访问令牌(PAT)
  • 具备 Kubernetes 资源的基础知识

流程概览

序号操作步骤说明
1验证所需组件确保 connector 基础设施已正确安装
2创建认证 Secret创建包含 GitHub 凭证的 Kubernetes Secret
3创建 GitHub Connector配置连接到 GitHub 的 connector
4验证 Connector 状态检查 connector 是否准备就绪

操作步骤

步骤 1:验证所需组件

在创建 GitHub connector 之前,验证集群中 connector 基础设施是否已正确安装。

  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:创建认证 Secret

创建一个包含 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 Connector

使用 Git ConnectorClass 创建连接到 GitHub 的 connector。

  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. 应用该 connector:

    kubectl apply -f github-connector.yaml

步骤 4:验证 Connector 状态

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

  1. 使用以下命令检查 connector 状态:

    kubectl get connector github-connector -n default
  2. 查看详细状态信息:

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

预期结果

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

  1. GitHub connector 资源状态显示为 "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. 如果 connector 配置了代理功能,状态中还会显示代理地址:

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

现在,您已成功创建了 GitHub connector 并验证其可用性。

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

故障排除

如果您的 connector 未达到 "Ready" 状态,请检查以下内容:

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

    kubectl get connectorclass git

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

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

  3. 仓库可访问性:验证认证参数中指定的仓库存在且凭证可访问。

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

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

后续步骤

创建第一个 connector 后,您可以:

  • 创建其他 Git 服务(GitLab、Harbor 等)的 connectors
  • 配置应用程序使用 connector 安全访问 Git 仓库