问题标签 [crossplane]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 如何通过 argocd 和 crossplane 传递配置
我们正在尝试使用 crossplane 和 argocd 创建一个环境。一旦 Crossplane 生成数据库并将凭据保存到管理集群上的密钥中。在我们将凭证从管理集群部署到我们的目标集群到一个秘密之后。
现在我们需要将凭证从秘密 a 传递到应用程序知道的秘密 B。当 argo 不使用 helm install 但模板因此lookup
功能不起作用时,问题就开始了。我们考虑过使用保险库作为中间人,但我们不确定如何将值从秘密加载到保险库。
无论如何,如果您遇到这样的问题或有某种解决方案,我们将很高兴听到。谢谢
kubernetes - 如何将配置连接器写入机密或配置映射以在部署中使用?
在 Crossplane 中,将 SQL 实例的连接详细信息写入 Kubernetes Secret 很简单:
这会将连接详细信息写入 Kubernetes Secret,以便部署可以引用它们。
如何使用配置连接器做到这一点?我错过了什么吗?
kubernetes - 如何使用 crossplane 将 helm 图表(使用 provider-helm)安装到其他集群中
我正在评估 crossplane 作为我们部署客户不同解决方案的首选工具,并且一直在努力解决一个问题:
我们想将 crossplane 安装到 GCP 上的一个集群(我们手动创建),并使用该 crossplane 来配置新集群,我们可以在该集群上安装 helm 图表并像往常一样部署。到目前为止的主要问题是我们还没有弄清楚如何告诉 crossplane 将舵图安装到其他集群而不是它自己。
这就是我们所尝试的:
示例中的提供程序配置:
...它可以工作,但会将所有内容安装到与交叉平面相同的集群中。
另一个例子:
...这需要大量的 makefile 脚本才能更轻松地为新集群生成 kubeconfig,并且 kubecoinfig 仍然会产生很多错误(但确实开始在新集群中创建一些东西,但它并没有一路工作。错误,例如:“ PodUnschedulable 无法调度 pod:gvisor})。
我只尝试了 crossplane 几天,所以我知道我可能会从一个完全错误的角度来处理这个问题,但与 Terraform 等相比,我确实喜欢 crossplane 的承诺及其方法。
所以问题是:我的想法完全错误,或者我错过了一些明显的东西。使用 kubeconfig 进行的第二次测试现在感觉相当复杂(许多步骤以正确的顺序来实现)。
谢谢
kubernetes - 从一个清单中提取值并将其分配给集群内的另一个清单
我正在练习 GitOps,并希望尽可能地自动化。ArgoCD 与 Crossplane 一起基于清单创建我的集群。当集群启动并运行时,Crossplane 会创建一个Secret
包含常规kubeconfig
文件的文件,该文件可以像任何其他 kubeconfig 一样下载和使用。
在 ArgoCD 中,我必须在 -manifest 中分配目标集群 IP 地址AppProject
。
这个任务我想自动化。
也许有人知道执行此类任务的工具。我假设这些步骤在 K8s 世界中很常见,但我不知道它们。如果没有这样的工具,我想走手动方式。
原始 kubeconfig 秘密:
也就是base64解码对应的kubeconfig
那是我的目标清单:
我可以从秘密中提取地址:
export STAGING_IP=$(kubectl get secret cluster-details-vonhier-staging-cp -o jsonpath="{.data.kubeconfig}" | base64 -d| yq e ".clusters[0].cluster.server" -)
并通过以下方式应用它:
yq e --inplace ".spec.destinations[0].server = \"${STAGING_IP}\"" app-projects/staging.yml
结果如我所料:
目的地:-命名空间:“生产”服务器:“https://123.456.678.0:6443”
这样可行。
但是如何将它“打包”到集群中呢?它在本地工作,..
kind: Job
-manifest是一个用例吗?- 或者有没有类似的东西?
- 此类任务的任何特定图像?
感谢您为我指明正确的方向