Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

229
Vistas
¿Cómo lidiar con un espacio de nombres diferente al establecido globalmente?
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: ns1 resources: - r1a.yaml - r1b.yaml - r1c.yaml - r1d.yaml - r1e.yaml - r2.yaml # needs to be placed in namespace ns2

Supongamos la situación anterior. El problema es que los objetos especificados en r2.yaml se ubicarían en ns1 , incluso si se hace referencia explícita a ns2 en metadata.namespace .

¿Cómo tengo que lidiar con esto? ¿O cómo puedo resolver esto (ya que supongo que hay múltiples opciones)?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

He investigado esto y se me ocurrió una idea.

 ├── base │ ├── [nginx.yaml] Deployment nginx ns: default | ├── [nginx2.yaml] Deployment nginx ns: default | ├── [nginx3.yaml] Deployment nginx ns: default | ├── [nginx4.yaml] Deployment nginx ns: default | ├── [nginx5.yaml] Deployment nginx ns: nginx │ └── [kustomization.yaml] Kustomization └── prod ├── [kustomization.yaml] Kustomization └── [patch.yaml] patching namespace

Necesita tener 2 directorios, en esta configuración son: base y prod . En el directorio base , debe usar su YAML base y el archivo kustomization.yaml . En mi escenario, tengo 6 YAML: nginx/1/2/3/4.yaml basado en la documentación de Kubernetes y nginx5.yaml , que tiene el mismo aspecto pero con espacio de nombre de especificación adicional spec.namespace: nginx .

En el directorio base :

 $ cat kustomization.yaml apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - nginx1.yaml - nginx2.yaml - nginx3.yaml - nginx4.yaml - nginx5.yaml

Y 5 YAML con nginx.

En Prod :

Debes tener 2 archivos. kustomization.yaml y patch.yaml .

 apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: ns1 bases: - ../base patchesJson6902: - target: group: apps version: v1 kind: Deployment name: nginx-deployment-5 path: patch.yaml $ cat patch.yaml - op: replace path: /metadata/namespace value: nginx

Cuando usará kustomize build . en el directorio prod , todo nginx-deployment/-2/-3/-4 estará en el espacio de namespace: ns1 y nginx-deployment-5 estará en el espacio de namespace: nginx .

 ~/prod (project)$ kustomize build . apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-5 namespace: nginx spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: nginx:1.14.2 name: nginx ports: - containerPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment namespace: ns1 spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - image: nginx:1.14.2 name: nginx ports: - containerPort: 80 --- apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment-2 namespace: ns1 spec:

Enlaces útiles :

  • Complementos personalizados personalizados
  • Personalización
  • Parches de personalización
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda