本页面提供使用提供的 Helm Chart 在 Kubernetes 环境中部署 code-server 的文档。有关使用 Docker 进行部署的信息,请参阅 Docker 部署。
Kubernetes 提供了一个强大的容器化应用程序运行平台,而 Helm 通过“Chart”(定义所有必需资源的打包配置)简化了 Kubernetes 应用程序的管理。code-server Helm Chart 封装了在 Kubernetes 环境中有效部署和运行 code-server 所需的配置。
该 Chart 创建了各种 Kubernetes 资源,包括 Deployment、Service、PersistentVolumeClaim,以及可选的 Ingress 资源,并将它们配置为协同工作。
来源:ci/helm-chart/values.yaml4-15 ci/helm-chart/Chart.yaml1-23
在通过 Helm Chart 部署 code-server 之前,请确保您已
code-server Helm Chart 位于存储库的 ci/helm-chart 目录下。您可以直接从克隆的存储库进行安装。
基本安装步骤
克隆仓库
使用 Helm 安装
使用 values 文件自定义安装
Helm Chart 通过其 values 文件提供了广泛的配置选项。以下是关键的配置类别:
| 参数 | 描述 | 默认 |
|---|---|---|
image.repository | code-server 镜像的仓库 | codercom/code-server |
image.tag | 要使用的镜像标签 | 4.99.3 |
image.pullPolicy | 镜像的拉取策略 | 始终 |
replicaCount | 要部署的副本数量 | 1 |
service.type | Kubernetes 服务的类型 | ClusterIP |
service.port | 服务暴露的端口 | 8080 |
| 参数 | 描述 | 默认 |
|---|---|---|
securityContext.enabled | 启用安全上下文 | true |
securityContext.fsGroup | 文件系统的组 ID | 1000 |
securityContext.runAsUser | 运行的用户 ID | 1000 |
serviceAccount.create | 创建服务账户 | true |
existingSecret | 用于密码的现有 Secret 名称 | "" |
| 参数 | 描述 | 默认 |
|---|---|---|
persistence.enabled | 启用持久化存储 | true |
persistence.size | 持久卷的大小 | 10Gi |
persistence.accessMode | 卷的访问模式 | ReadWriteOnce |
persistence.annotations | PVC 的注解 | {} |
来源:ci/helm-chart/values.yaml4-109
来源:ci/helm-chart/Chart.yaml1-23 ci/helm-chart/values.yaml1-209
该 Chart 允许您向 Pod 添加额外的容器,这对于 Docker-in-Docker 或数据库等服务非常有用。
请记住同时添加相应的环境变量
来源:ci/helm-chart/values.yaml142-161
您可以使用 init 容器预装 VS Code 扩展。
来源:ci/helm-chart/values.yaml162-180 docs/helm.md130-149
该 Chart 包含一个卷权限 init 容器,以确保挂载卷的正确所有权。
来源:ci/helm-chart/values.yaml85-88
该 Chart 支持许多其他自定义选项。
extraArgs 添加额外的命令行参数。extraVars 添加环境变量。extraSecretMounts 挂载 Secret。extraConfigmapMounts 挂载 ConfigMap。extraVolumeMounts 添加额外的卷挂载。来源:ci/helm-chart/values.yaml60-80 ci/helm-chart/values.yaml182-209
来源:ci/helm-chart/values.yaml1-209
启用 Ingress 控制器的外部访问。
来源:ci/helm-chart/values.yaml45-57
设置资源请求和限制
来源:ci/helm-chart/values.yaml98-108
使用节点选择器、亲和性和容忍度来控制 Pod 放置。
来源:ci/helm-chart/values.yaml110-114
在 Kubernetes 上部署 code-server 时常见问题
Pod 启动失败:
无法访问 code-server:
性能问题:
检查 Pod 日志
当新版本可用时,升级您的部署。
从您的集群中移除 code-server。
注意:默认情况下,这不会删除持久卷,因此您的数据将得以保留。
通过正确配置您的 Helm Chart values,您可以创建一个安全、有弹性的 code-server 部署,满足您的特定需求。