快速开始
本文档将帮助您快速理解和使用 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 连接器之前,请验证连接器基础设施是否已正确安装在您的集群中。
-
检查 Connectors Operator、ConnectorsCore 和 ConnectorsGit 是否已安装:
kubectl get connectorscore -A
kubectl get connectorsgit -A
您应该看到这两个资源的状态为 "Ready"。
-
验证 Git ConnectorClass 是否存在:
kubectl get connectorclass git
如果找不到 Git ConnectorClass,则需要先安装 ConnectorsGit。有关说明,请参见 安装指南。
步骤 2:创建认证密钥
创建一个包含 GitHub 凭证的 Kubernetes Secret。
-
执行以下命令以创建一个包含您 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 个人访问令牌。
-
验证 Secret 是否成功创建:
kubectl get secret github-auth -n default
步骤 3:创建 GitHub 连接器
使用 Git ConnectorClass 创建一个连接器到 GitHub。
-
将以下 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
-
应用连接器:
kubectl apply -f github-connector.yaml
步骤 4:验证连接器状态
创建连接器后,检查其状态以确保其正常运行。
-
使用以下命令检查连接器状态:
kubectl get connector github-connector -n default
-
要查看详细的状态信息,请使用:
kubectl get connector github-connector -n default -o yaml
预期结果
成功完成所有步骤后,您将看到以下结果:
-
GitHub 连接器资源状态显示为 "Ready":
NAME CLASS ADDRESS READY AGE
github-connector git https://github.com True 2m
-
详细状态信息中的所有条件均为 "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"
-
如果连接器配置了代理功能,您还将看到状态中的代理地址:
status:
proxy:
httpAddress:
url: http://c-github-connector.default.svc.cluster.local
现在,您已经成功创建了 GitHub 连接器并验证其工作正常。
您的应用程序可以使用此连接器安全地访问 GitHub 仓库,而无需在应用代码中直接嵌入凭证。
故障排除
如果您的连接器未达到 "Ready" 状态,请检查以下事项:
-
ConnectorClass 可用性:确保 Git ConnectorClass 存在:
kubectl get connectorclass git
如果不存在,您需要安装 ConnectorsGit。请参见 安装指南。
-
认证配置:确保 Secret 中的凭证正确且具有适当的权限。
-
仓库可访问性:验证在认证参数中指定的仓库是否存在,并且在提供的凭证下可访问。
-
检查控制器日志:查看连接器控制器日志以获取详细错误信息:
kubectl logs -n connectors-system -l app.kubernetes.io/name=connectors-controller-manager
后续步骤
在创建了第一个连接器之后,您可以:
- 为其他 Git 服务(如 GitLab、Harbor 等)创建连接器
- 配置应用程序使用该连接器安全访问 Git 仓库