k8s使用config-syncer(kubed)同步secret

集群内同步

使用argocd 部署 config-syncer(kubed)

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: dev-config-syncer
  namespace: cicd
spec:
  destination:
    name: cloud-k8s-test
    namespace: kube-system
  project: dev-config-syncer
  source:
    chart: kubed
    helm:
      valueFiles:
      - values.yaml
    repoURL: https://charts.appscode.com/stable/
    targetRevision: v0.13.2

在kube-system 创建源 secret/configmap 配置

源 Secret 设置 kubed.appscode.com/sync Namespace Selector 注解

同步目标namespace 设置对应label

查看同步的registry secret

清理集群内同步的secret,谨慎操作,会同步删除集群内所有关联secret

跨集群同步

使用argocd 部署 config-syncer(kubed)

注:默认的config-syncer 跨集群同步,不支持rancher 代理的k8s cluster api地址, 相同的域名端口会被误判为同一个集群,导致同步失败,下面部署用的config-syncer 镜像是我修改过代码支持了rancher 代理后重新制作的docker 镜像

完整argocd 部署 prod-config-syncer.yaml 如下:(部署到和rancher 相同k8s 集群,同步时使用rancher 内部代理后的k8s地址)

在kube-system 创建源 secret/configmap 配置

配置跨集群secret同步的集群(默认同步kube-system namespace)

注:相关配置只同步到指定目标k8s 集群的 kube-system namespace ,如果需要同步其它namespace 参考集群内同步配置

配置集群内同步的secret

清理跨集群secret同步的集群,谨慎操作,会同步删除关联目标集群secret

参考:

https://github.com/kubeops/config-syncer

https://appscode.com/products/kubed/v0.12.0/setup/install/

https://appscode.com/products/kubed/v0.12.0/

https://appscode.com/products/kubed/v0.12.0/guides/config-syncer/intra-cluster/

https://github.com/paradeum-team/config-syncer/tree/jyliu-dev/charts/kubed

Last updated