寻求GKE CRDs获取途径:在GitHub工作流中用kind运行helm/chart-testing-action需用到
获取GKE CRDs用于Kind集群中的Helm Chart测试
以下是几种可靠的获取GKE相关CRDs的方式,适配你的GitHub工作流场景:
1. 从Google Config Connector仓库直接提取
Google Config Connector维护了全套GKE相关的自定义资源定义(CRD),你可以直接拉取所需的CRD文件:
- 使用
kpt工具批量获取所有CRD:# 安装kpt(如果工作流环境未预装) sudo apt-get update && sudo apt-get install -y kpt # 拉取CRD目录到本地 kpt pkg get https://github.com/GoogleCloudPlatform/k8s-config-connector.git/crds/ gke-crds # 应用到Kind集群 kubectl apply -f gke-crds/ - 或者按需单独下载某类CRD(比如ComputeInstance):
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/k8s-config-connector/master/crds/compute.cnrm.cloud.google.com_computeinstances.yaml kubectl apply -f compute.cnrm.cloud.google.com_computeinstances.yaml
2. 从现有GKE集群导出
如果你有可用的测试GKE集群,可以直接导出已安装的CRDs:
# 从GKE集群导出所有CRD到文件 kubectl get crds -o yaml > gke-crds.yaml # 将文件上传到你的GitHub仓库或工作流缓存,然后在Kind集群中应用 kubectl apply -f gke-crds.yaml
3. 通过Helm Chart安装关联CRDs
部分GKE组件(如Config Connector、Anthos Service Mesh)提供Helm Chart,安装时会自动部署对应的CRDs。比如在工作流中添加Config Connector的安装步骤:
- name: Install Config Connector Helm Chart (仅安装CRDs) run: | helm repo add cnrm https://cloud.google.com/kubernetes-config-connector/charts helm repo update # 只安装CRDs,不部署控制器(适合仅测试Chart安装的场景) helm install cnrm-system cnrm/cnrm-config-manager --namespace cnrm-system --create-namespace --set installCRDs=true
注意事项
- 若你的Helm Chart仅需CRD的结构验证,无需CRD控制器运行,仅安装CRD文件即可满足chart-testing的需求。
- 部分CRDs可能存在版本关联,确保获取的CRD版本与你的Chart适配。
内容的提问来源于stack exchange,提问作者Moritz Schmitz v. Hülst
相关产品推荐
相关产品推荐

