使用此Helm Chart在您的集群上部署Kubernetes MCP Server
克隆仓库
git clone git@github.com:frenoid/kubernetes-mcp-server-helmchart.git
进入目录
cd kubernetes-mcp-server
以myrelease名称部署图表
helm install myrelease . -f values.yaml
使用以下命令卸载myrelease部署
helm uninstall myrelease
该命令删除名为myrelease的发布,并释放与该发布关联的所有Kubernetes资源。
提示:在上述命令中指定--purge参数,可以从存储中移除发布并使其名称可供后续使用。
| 名称 | 描述 | 默认值 |
|---|---|---|
kubeVersion | 覆盖Kubernetes版本 | "" |
nameOverride | 使用字符串部分覆盖kubernetes-mcp.fullname模板(将在发布名称前添加) | "" |
fullnameOverride | 使用字符串完全覆盖kubernetes-mcp.fullname模板 | "" |
namespaceOverride | 使用字符串完全覆盖common.names.namespace模板 | "" |
commonAnnotations | 添加到所有已部署对象的注解 | {} |
commonLabels | 添加到所有已部署对象的标签 | {} |
extraDeploy | 与发布一起部署的额外对象数组 | [] |
| 名称 | 描述 | 默认值 |
|---|---|---|
enableWriteDelete | 向MCP服务器添加创建、修补、更新和删除权限 | false |
replicaCount | 复制数量 | 1 |
image.repository | 镜像仓库 | docker.io/frenoid/kubernetes-mcp-server |
image.tag | 镜像标签 | v0.0.53 |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
serviceAccount.create | 指定是否应创建服务账户 | true |
serviceAccount.annotations | 服务账户注解 | {} |
serviceAccount.name | 使用的服务账户名称(如果未设置,则使用kubernetes-mcp.fullname模板生成) | kubernetes-mcp-server |
serviceAccount.automount | 表示是否自动挂载服务账户的API凭据 | false |
deploymentAnnotations | 额外的部署注解 | {} |
podAnnotations | 额外的Pod注解 | {} |
podLabels | 额外的Pod标签 | {} |
podSecurityContext | Pod安全上下文 | |
podSecurityContext.seccompProfile.type | 设置Pod的安全上下文seccomp配置文件 | RuntimeDefault |
priorityClassName | 优先级类名 | nil |
runtimeClassName | 运行时类名 | "" |
securityContext | 容器安全上下文 | |
securityContext.allowPrivilegeEscalation | 设置容器的安全上下文allowPrivilegeEscalation | false |
securityContext.capabilities.drop | 要删除的能力列表 | ["ALL"] |
securityContext.readOnlyRootFilesystem | 设置容器的安全上下文readOnlyRootFilesystem | true |
securityContext.runAsNonRoot | 是否容器必须以非root用户运行 | true |
securityContext.runAsUser | 运行容器进程入口点的UID | 65534 |
securityContext.runAsGroup | 运行容器进程入口点的GID | 65534 |
containerPorts.http | HTTP容器端口 | 8080 |
service.annotations | 服务注解 | {} |
service.type | 服务类型 | ClusterIP |
service.clusterIP | 当服务类型为ClusterIP时的静态集群IP地址或无头服务的None | nil |
service.loadBalancerIP | 当服务类型为LoadBalancer时的静态负载均衡器IP地址 | nil |
service.loadBalancerSourceRanges | 当服务类型为LoadBalancer时的源IP地址范围 | nil |
service.externalTrafficPolicy | 当服务类型为LoadBalancer或NodePort时的外部流量路由策略 | Cluster |
service.ports.http | HTTP服务端口 | 8080 |
service.nodePorts.http | 当服务类型为LoadBalancer或NodePort时的HTTP服务节点端口 | nil |
ingress.enabled | 启用Ingress控制器资源 | false |
ingress.ingressClassName | 实现Ingress所使用的IngressClass | "" |
ingress.pathType | Ingress路径类型 | ImplementationSpecific |
ingress.annotations | Ingress注解 | {} |
ingress.hosts[0].host | 到您的Kubernetes MCP Server安装的主机名 | kubernetes-mcp.local |
ingress.hosts[0].paths | URL结构中的路径 | ["/"] |
ingress.tls | TLS配置 | [] |
resources | CPU/内存资源请求/限制 | {} |
nodeSelector | 用于Pod分配的节点标签 | {} |
tolerations | 用于Pod分配的容忍度 | [] |
affinity | 节点/Pod亲和性映射 | {} |
extraArgs | 额外的容器参数 | {} |
extraEnvVars | 额外的容器环境变量 | [] |
extraEnvVarsCM | 包含额外容器环境变量的现有ConfigMap的名称 | nil |
extraEnvVarsSecret | 包含额外容器环境变量的现有Secret的名称 | nil |
extraVolumes | 可选指定额外卷的列表 | [] |
extraVolumeMounts | 可选指定额外卷挂载的列表 | [] |
使用helm install命令的--set参数指定您希望自定义的参数。例如,
$ helm install myrelease \
--set nameOverride=my-name .
上述命令将nameOverride设置为my-name。
或者,在安装图表时可以提供一个YAML文件,其中指定了上述参数的值。例如,
$ helm install myrelease \
--values values.yaml .
提示:您可以使用默认的values.yaml。