【发布时间】:2021-10-29 17:28:15
【问题描述】:
我正在评估将 crossplane 用作我们为客户部署不同解决方案的首选工具,但我一直在努力解决一个问题:
我们想在 GCP 上的一个集群(我们手动创建)上安装 crossplane,并使用该 crossplane 来配置新集群,我们可以在该集群上安装 helm 图表并像往常一样部署。 到目前为止的主要问题是我们还没有弄清楚如何告诉 crossplane 将舵图安装到其他集群而不是它自己。
这是我们尝试过的:
示例中的provider-config:
apiVersion: helm.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: helm-provider
spec:
credentials:
source: InjectedIdentity
...它可以工作,但会将所有内容安装到与 crossplane 相同的集群中。
还有另一个例子:
apiVersion: helm.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: default
spec:
credentials:
source: Secret
secretRef:
name: cluster-credentials
namespace: crossplane-system
key: kubeconfig
...这需要大量的 makefile 脚本才能更轻松地为新集群生成 kubeconfig,并且 kubecoinfig 仍然会产生很多错误(但确实开始在新集群中创建一些东西,但它并不能正常工作方式。获取错误,例如:" PodUnschedulable Cannot schedule pods: gvisor})。
我只尝试了 crossplane 几天,所以我知道我可能从一个完全错误的角度来解决这个问题,但我确实喜欢 crossplane 的承诺及其与 Terraform 等类似的方法。
所以问题是:我的想法完全错误,或者我遗漏了一些明显的东西。 使用 kubeconfig 进行的第二次测试现在感觉非常复杂(按照正确的顺序执行许多步骤)。
谢谢
【问题讨论】:
标签: kubernetes crossplane