# kubectl-plus **Repository Path**: polk/kubectl-plus ## Basic Information - **Project Name**: kubectl-plus - **Description**: kubectl-plus 是一个用于在apply deployment yaml文件场景下的,增强型 Kubernetes 命令行工具, - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-31 - **Last Updated**: 2025-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: Go语言, kubectl, Kubernetes, cobra ## README # kubectl-plus ## 项目简介 kubectl-plus 是一个增强型 Kubernetes 命令行工具,旨在简化和扩展原生 kubectl 的功能。它特别关注于 Kubernetes 部署管理,提供了更便捷的方式来更新和重新deployment应用的部署配置。 ## 功能特点 - 简化 Kubernetes 部署更新流程 - 支持指定集群上下文进行操作 - 提供直观的命令行界面和帮助信息 - 可以重新应用部署配置到指定的 Kubernetes 集群 ## 安装方法 ### 前提条件 - Go 1.24 或更高版本 - 已配置好的 kubeconfig 文件(通常位于 `~/.kube/config`) ### 编译安装 1. 克隆项目仓库 ```bash git clone https://github.com/your-username/kubectl-plus.git cd kubectl-plus ``` 2. 编译项目 ```bash go build ``` 3. 将生成的可执行文件添加到系统 PATH 中(可选) ```bash # Linux/macOS mv kubectl-plus /usr/local/bin/ # Windows # 将 kubectl-plus.exe 复制到系统 PATH 环境变量包含的目录中 ``` ## 使用说明 ### 命令格式 ```bash kubectl-plus reapply -f [yaml文件路径] -c [集群名称] ``` ### 主要命令 #### reapply 命令 重新应用 deployment 配置到指定的 Kubernetes 集群。 ```bash kubectl-plus reapply -f deployment.yaml -c my-cluster ``` ### 参数说明 #### 全局参数 - `-c, --cluster string`: Kubernetes 集群名称(必需) - `-k, --kubeconfig string`: kubeconfig 文件路径(默认:`~/.kube/config`) - `-h, --help`: 显示帮助信息 #### reapply 子命令参数 - `-f, --deployment-file string`: Deployment YAML 文件路径(必需) - `-h, --help`: 显示 reapply 子命令的帮助信息 ## 示例 ### 基本用法 重新应用 deployment 配置到指定集群: ```bash kubectl-plus reapply -f my-deployment.yaml -c production-cluster ``` ### 指定 kubeconfig 文件 使用自定义的 kubeconfig 文件: ```bash kubectl-plus reapply -f my-deployment.yaml -c staging-cluster -k /path/to/my/kubeconfig ``` ## 注意事项 1. 确保指定的集群名称在 kubeconfig 文件中存在 2. YAML 文件必须是有效的 Kubernetes Deployment 配置 3. 执行命令时,系统会尝试连接到指定的 Kubernetes 集群并应用配置 ## 开发指南 ### 项目结构 ``` kubectl-plus/ ├── main.go # 主入口文件 ├── pkg/ │ ├── cmd.go # 命令定义和处理 │ ├── k8s.go # Kubernetes 相关操作 │ └── utils.go # 工具函数 ├── go.mod # Go 模块定义 └── go.sum # 依赖版本锁定 ``` ### 添加新功能 1. 在 `pkg/` 目录下创建或修改相关文件 2. 更新命令定义和处理逻辑 3. 确保代码通过编译和测试 ## License 本项目使用 MIT 许可证 - 详见 LICENSE 文件