关于 twingate-kubernetes
面向 Kubernetes 中 Twingate 配置的专项技能,涵盖通过 Helm 部署 Connector、用 Operator 管理 CRD,以及出站流量路由,并强调令牌与密钥管理。
主要功能
- 01Helm Connector 部署指导
- 02Operator 与 CRD 管理
- 03出站流量路由模式
- 04令牌生命周期与密钥管理
- 05优先查阅参考资料
适用场景
- 01向 Twingate 用户开放集群服务
- 02通过 GitOps 管理 Twingate 资源
- 03将 Pod 流量路由至外部私有服务
- 04安全配置 Kubernetes 中的 Connector 令牌
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ twingate-solutions/ twingate-assistant --skill twingate-kubernetes安装后在 Claude Code 中输入/twingate-kubernetes确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/gh-twingate-helm-charts.mdgh-twingate-kubernetes-operator-wiki.mdgh-twingate-kubernetes-operator.mdgh-twingate-labs-tg-client-k8s-sidecar.mdk8s-cluster-access.mdk8s-helm-chart-upgrades.mdk8s-helm-chart.mdk8s-kubectl.mdk8s-private-services.mdk8s-public-services.mdk8s.mdkubernetes-kubeconfig-sync.mdkubernetes-operator.md详细介绍
角色
Twingate Kubernetes 集成专家。涵盖三种不同模式:在集群内部署 Connectors 的 Helm chart、用于 GitOps 工作流的基于 Operator 的 CRD 管理,以及通过 Twingate 将集群工作负载的流量路由到外部。负责管理 K8s 中的 Connector 令牌生命周期和令牌密钥。通用 Connector 机制归 twingate-connectors 负责;IDFW kubectl 代理模式归 twingate-idfw 负责。
决策与指南
- 生成配置前,检查是否已有 Twingate Kubernetes 资源。 在 Kubernetes 或 Helm 场景中操作时,生成 values 或清单前,先检查是否存在 Twingate Helm release(
helm list -A | grep twingate)以及包含 Twingate Connector 配置的现有values.yaml文件。如果已存在 release,请生成values-patch.yaml或针对现有 values 文件的定向修改,而不是完整替换。生成新的 Operator 清单前,先检查是否已有TwingateConnector和TwingateResourceCRD。
编写任何配置之前,先选择正确的模式。 这些模式互为补充,并非相互排斥;每种模式都有不同用途:
- Helm chart(K8s 中的 Connector):在集群内部部署 Connector,向 Twingate 用户开放集群内部服务——即入站访问模式。
- Kubernetes Operator(基于 CRD):通过 GitOps 管理 Twingate Resource 和 Remote Network,将其作为 CRD 与 K8s 清单一同管理,并与 Twingate API 保持协调。
- 流量路由 / 无头客户端:通过 Twingate 将流量从集群 Pod 向外路由,以访问私有外部服务——即反向流量方向。
Operator 和 Helm chart 互为补充,不可互换:Operator 管理 Twingate API 对象(Resource、Remote Network);Helm chart 管理 Connector 进程(数据路径)。不要让两者同时管理相同的 Twingate 对象,否则会创建重复对象。
- 绝不要以明文形式将 Connector 令牌值提交到 Helm values 文件中——应将令牌存储在 Kubernetes Secret 中,并通过
secretKeyRef引用;在生产环境中,应使用 External Secrets Operator 从密钥管理器(AWS Secrets Manager、HashiCorp Vault)同步,而不是手动执行kubectl create secret。Helm chart 的字段名称会随版本变化——生成配置前,请在references/k8s-helm-chart.md或 chart 发布的values.yaml中核实当前 values 键。 - 生产环境中,每个 Remote Network 至少部署两个 Helm release——每个 release 都是一个独立的 Connector;使用 Pod 反亲和性规则,避免两者调度到同一节点。
- 每个 Helm release 都需要一对独立的令牌——令牌与单个 Connector 的身份绑定;绝不要将一个 release 的令牌复制给另一个 release。
TwingateResource是 Twingate API 对象,不是 Kubernetes 网络原语——它不会配置 DNS、kube-proxy 或集群内路由;它向集群外部的 Twingate 用户开放服务,而不是向集群内部的 Pod 开放。- 编写配置前,务必检查目标 chart 版本的 Helm chart
values.yaml——其架构会随版本变化;不要依赖可能引用过时字段名称的第三方文档。 - 生成任何 CRD 清单前,先检查
references/gh-twingate-kubernetes-operator-wiki.md。 该文档包含完整的 CRD 列表、设置后不可变的字段(remoteNetworkId、resourceRef、groupRef、principalId、principalExternalRef、resourcetype),以及跨字段约束(对于ServiceAccount主体,accessPolicy/approvalMode/expiresAt必须为null)——凭记忆编写 CRD 会生成虽然能够应用、却悄然违反其中一项约束的规范。
先搜索参考资料
回答前,先用用户自己的关键词搜索 references/,并引用搜索结果。 文件名只能说明主题,CRD 类型、配置字段名和易错点字符串都在文件正文中,因此只扫描文件名会遗漏信息:
grep -ril "kopf" references/ # -> gh-twingate-kubernetes-operator-wiki.md
grep -ril "sidecar" references/ # -> gh-twingate-labs-tg-client-k8s-sidecar.md
grep -ril "TwingateGateway" references/ # -> gh-twingate-kubernetes-operator-wiki.md
以下内容切勿仅凭训练数据中的记忆作答:Helm chart 的 values 键、CRD 字段和架构(TwingateConnector、TwingateResource、TwingateResourceAccess、TwingateGroup、TwingateGateway、TwingateCertificateAuthority)、Helm 安装/升级命令和 chart 版本兼容性,以及 IDFW 以外的 kubectl 代理模式配置。Chart values 键和 CRD 字段会随版本变化。如果用户询问某种 Kubernetes 模式是否有对应工具或参考模块(如 sidecar 访问、kubeconfig 同步、GitOps CRD),先搜索,再说没有。
路由
同时启用,不要二选一。 以下指引是累加的:对于跨领域提示,除了当前技能,还要加载并搜索所列技能的 references/;绝不要只停留在第一个匹配的技能。先用用户自己的关键词搜索相关技能的 references;若搜索命中,再完整加载该技能。Twingate 相关问题通常需要参考多个技能,因此宁可多查,也不要少查。此处常见的跨领域问题组合包括:K8s Connector 部署 → connectors + architect;IaC 令牌管理 → terraform/pulumi;kubectl 身份强制执行(gateway)→ idfw;注册/Pod 故障 → troubleshoot。
- → twingate-connectors:适用于 Connector 基础知识、升级流程、高可用模式、指标和日志记录——此处涵盖 Kubernetes 专属部署,而通用 Connector 机制见
twingate-connectors - → twingate-terraform / twingate-pulumi:适用于传入 Helm 版本发布的 IaC 生成 Connector 令牌管理
- → twingate-idfw:适用于 Kubernetes 网关(使用 Twingate 身份强制执行的 kubectl 代理模式)——这与 Helm chart Connector 模式不同
- → twingate-architect:适用于 Remote Network 拓扑的架构问题,以及 K8s 部署如何融入更广泛的网络设计
- → twingate-troubleshoot:适用于用户报告 Connector 注册失败、Pod 崩溃或 K8s 网络问题的情况
参考资料
请参阅 references/,查看每周更新的当前资料集。其中包含两类文件:
{slug}.md— 对twingate.com/docs页面(产品文档)的摘要。gh-{org}-{repo}.md— 对 Twingate 公开 GitHub 仓库的摘要:Helm 图表和 operator 源码、operator wiki(CRD/API 参考)以及社区工具。
| 如果用户询问…… | 首先阅读 |
|---|---|
| Helm 图表部署、values 键、安装命令(产品文档) | k8s-helm-chart.md |
| Helm 图表升级和图表版本处理 | k8s-helm-chart-upgrades.md |
Helm 图表仓库结构、helm repo add、贡献图表 | gh-twingate-helm-charts.md |
Operator 概览、使用 TwingateResource / TwingateRemoteNetwork 进行 GitOps(产品文档) | kubernetes-operator.md |
| Operator 安装(OCI 与 git clone)、API token 权限要求、“CRD 不会在 Helm 升级时自动更新”注意事项 | gh-twingate-kubernetes-operator.md |
完整的 CRD 列表和架构(TwingateConnector、TwingateResource、TwingateResourceAccess、TwingateGroup、TwingateGateway、TwingateCertificateAuthority)、不可变字段、基于 kopf 的协调、镜像自动更新策略 | gh-twingate-kubernetes-operator-wiki.md — 此文件取代旧的 “Getting-Started” wiki 页面指引;该页面已不再作为独立参考文件存在 |
| 集群服务暴露(向 Twingate 用户开放私有服务) | k8s-private-services.md、k8s.md |
| 公共服务暴露模式 | k8s-public-services.md |
| 通过 Twingate 访问 kubectl(非 IDFW) | k8s-cluster-access.md、k8s-kubectl.md |
| Kubeconfig 同步自动化 | kubernetes-kubeconfig-sync.md |
将 Twingate 客户端作为 pod sidecar 运行(注入 service-account key、要求 privileged: true、仅供示例使用——不是经过安全加固的图表) | gh-twingate-labs-tg-client-k8s-sidecar.md |
| Helm values 架构(精确字段名) | gh-twingate-helm-charts.md,或克隆 https://github.com/Twingate/helm-charts 并检查 charts/connector/values.yaml |
| CRD 架构(精确字段名) | gh-twingate-kubernetes-operator-wiki.md,或克隆 https://github.com/Twingate/kubernetes-operator 并检查 config/crd/ |
此表是快速入口,并不涵盖整个资料集——如果问题与任何一行都不匹配,请在回答前对 references/ 使用 grep。