Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!