Skip to main content
Glama
token_registration.md2.75 kB
# Token 注册集群功能 本文档介绍如何使用 token 来注册 Kubernetes 集群。 ## 功能概述 KOM 提供了通过 token 注册集群的方法: 1. `RegisterByTokenWithServerAndID` - 带服务器地址的 token 注册 ## 使用方法 ### 带服务器地址的 Token 注册 ```go import "github.com/weibaohui/kom/kom" // 完整注册(推荐方式) token := "<YOUR_TOKEN>" server := "https://your-cluster.example.com:6443" clusterID := "production-cluster" caData := "<YOUR_CA_DATA>" // 当需要指定 CA 证书时,使用注册期 Option: kubectl, err := kom.Clusters().RegisterByTokenWithServerAndID( token, server, clusterID, kom.RegisterCACert([]byte(caData)), ) if err != nil { log.Fatalf("Failed to register cluster: %v", err) } ``` **参数说明:** - `token`: Kubernetes 集群的访问令牌 (Bearer Token) - `server`: Kubernetes API 服务器地址 - `clusterID`: 集群的唯一标识符 - `caData`: 可选的 CA 证书数据,用于启用 TLS 验证 ## 获取 Token ### 方法 1: 使用 Service Account ```bash # 创建 Service Account kubectl create serviceaccount kom-user # 创建 ClusterRoleBinding kubectl create clusterrolebinding kom-user-binding \ --clusterrole=cluster-admin \ --serviceaccount=default:kom-user # 获取 Token kubectl create token kom-user ``` ### 方法 2: 从现有 Secret 获取 ```bash # 查找 Service Account 的 Secret kubectl get secrets # 获取 Token kubectl get secret <secret-name> -o jsonpath='{.data.token}' | base64 -d ``` ## 错误处理 所有的 token 注册函数都会进行参数验证: - `token` 不能为空 - `server` 不能为空(适用于带服务器地址的函数) - `clusterID` 不能为空 如果参数验证失败,函数会返回相应的错误信息。 ## 安全注意事项 1. **Token 安全**: 请妥善保管您的 token,不要在代码中硬编码 2. **TLS 验证**: 生产环境中建议启用 TLS 验证(`insecure=false`) 3. **权限控制**: 为 Service Account 分配最小必要权限 ## 示例代码 完整的示例代码可以在 `example/token_register_test.go` 文件中找到。 ## 常见问题 ### Q: Token 过期了怎么办? A: 需要重新生成 token 并重新注册集群。 ### Q: 如何验证注册是否成功? A: 可以尝试调用 kubectl 的方法,例如: ```go pods, err := kubectl.Pod().List() if err != nil { log.Printf("Failed to list pods: %v", err) } else { log.Printf("Successfully connected, found %d pods", len(pods)) } ``` ### Q: 支持哪些类型的 Kubernetes 集群? A: 支持所有标准的 Kubernetes 集群,包括: - 自建集群 - 云服务商托管集群(EKS、GKE、AKS 等) - 本地开发集群(minikube、kind 等)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/weibaohui/kom'

If you have feedback or need assistance with the MCP directory API, please join our Discord server