Kubernetes MCP服务器掌舵图
部署 Kubernetes MCP服务器 使用此Helm Chart将其添加到集群中
先决条件
- 库贝内特斯>=1.24
- Helm>=3.9
安装
克隆仓库
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 | 指示是否自动装载ServiceAccount的API凭据 | false |
deploymentAnnotations | 其他部署注释 | {} |
podAnnotations | 附加pod注释 | {} |
podLabels | 附加吊舱标签 | {} |
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地址或无 | 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 | 启用入口控制器资源 | false |
ingress.ingressClassName | 将用于实现Ingress的IngressClass | "" |
ingress.pathType | 入口路径类型 | ImplementationSpecific |
ingress.annotations | 入口注释 | {} |
ingress.hosts[0].host | Kubernetes MCP服务器安装的主机名 | kubernetes-mcp.local |
ingress.hosts[0].paths | url结构中的路径 | ["/"] |
ingress.tls | TLS配置 | [] |
resources | CPU/内存资源请求/限制 | {} |
nodeSelector | pod分配的节点标签 | {} |
tolerations | 吊舱分配公差 | [] |
affinity | 节点/吊舱亲和力图 | {} |
extraArgs | 其他容器参数 | {} |
extraEnvVars | 其他容器环境变量 | [] |
extraEnvVarsCM | 包含其他容器环境变量的现有ConfigMap的名称 | nil |
extraEnvVarsSecret | 包含其他容器环境变量的现有Secret的名称 | nil |
extraVolumes | 可选地指定附加卷的额外列表 | [] |
extraVolumeMounts | (可选)指定附加卷装载的额外列表 | [] |
设置参数
使用指定要自定义的参数 --set 争论到 helm install 命令。例如,
$ helm install myrelease \
--set nameOverride=my-name .上述命令设置 nameOverride 到 my-name.
或者,在安装图表时,可以提供一个指定上述参数值的YAML文件。例如,
$ helm install myrelease \
--values values.yaml .提示:您可以使用默认值 values.yaml.
