首页 > 解决方案 > 如何阻止通量部署到我的默认命名空间?

问题描述

我有一个带有Flux的 Kubernetes 集群设置。我有一个基础设施文件夹,其中包含ingress/baseingress/overlays/development。希望此屏幕截图有助于目录结构:

kubernetes基础设施文件夹的目录结构

以下是我的 ingress.yaml 和 kustomization.yaml 文件base

# ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
spec:
  rules:
    - http:
        paths:
          - path: /*
            backend:
              serviceName: user-service
              servicePort: 80

# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
  - ingress.yaml

development's 文件夹中,我只有一个自定义文件:

# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: development
resources:
  - ../../base

当我将此结构提交到我的通量存储库时,一切都会成功协调。default但是,它在和命名空间中设置了一个入口development。我希望基本文件夹成为应用于每个命名空间的通用配置,我不希望它单独部署。

如何告诉 Kustomize 或 Flux,仅将我的base文件夹用作叠加层的输入,而不是实际部署基本文件夹?

标签: kuberneteskustomizefluxcd

解决方案


您应该spec.pathFlux Kustomization组件中使用。

spec:
  path: "./infrastructure/overlays"

推荐阅读