Descargar Bwf Metaedit Exe Kubernetes -
apiVersion: batch/v1 kind: CronJob metadata: name: bwf-metaedit-cron spec: schedule: "0 * * * *" # Cada hora jobTemplate: spec: template: spec: nodeSelector: kubernetes.io/os: windows containers: - name: metaedit-task image: miregistro/bwfmetaedit:1.0 args: - "--Report" - "C:\\data\\reportes\\output.xml" - "C:\\data\\entrantes\\*.wav" volumeMounts: - name: shared-storage mountPath: C:\data restartPolicy: OnFailure volumes: - name: shared-storage nfs: # o PVC, o Azure File, etc. server: nfs-server.default.svc.cluster.local. path: /shared_audio 1. Uso de InitContainers para descargar el EXE dinámicamente En lugar de empaquetar el EXE en la imagen, puede descargarlo en un emptyDir compartido usando un initContainer :
# Desde PowerShell en Windows Invoke-WebRequest -Uri "https://mediaarea.net/download/binary/bwfmetaedit/23.10/BWFMetaEdit_CLI_23.10_Windows_x86_64.zip" -OutFile "bwfmetaedit.zip" Expand-Archive -Path bwfmetaedit.zip -DestinationPath C:\tools\bwfmetaedit No descargue EXEs de sitios de terceros. Solo de mediaarea.net . Sección 4: Construcción de la Imagen Docker para Kubernetes Para que Kubernetes ejecute bwfmetaedit.exe , debe empaquetarlo en un contenedor. Paso 1: Crear el Dockerfile Cree un archivo Dockerfile (para Windows Containers): descargar bwf metaedit exe kubernetes
# Usar una imagen base de Windows Server Core con soporte para contenedores FROM mcr.microsoft.com/windows/servercore:ltsc2022 SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"] Crear directorio de trabajo WORKDIR C:\tools\bwfmetaedit Copiar el bwfmetaedit.exe descargado localmente COPY bwfmetaedit.exe . Copiar script de entrada (opcional) COPY process-audio.ps1 . Establecer el punto de entrada ENTRYPOINT ["C:\tools\bwfmetaedit\bwfmetaedit.exe"] Paso 2: Construir y subir la imagen # Construir (desde la carpeta donde está el Dockerfile y el exe) docker build -t miregistro/bwfmetaedit:1.0 . Subir a un registry accesible por Kubernetes (ACR, ECR, Docker Hub) docker push miregistro/bwfmetaedit:1.0 Sección 5: Desplegar en Kubernetes (Modo Job y CronJob) No desplegará un Pod corriendo 24/7, sino un Job que ejecute el proceso y termine. Ejemplo 1: Job básico para editar metadatos de un archivo apiVersion: batch/v1 kind: Job metadata: name: bwf-metaedit-job spec: template: metadata: name: bwf-metaedit-pod spec: # Node selector para forzar nodos Windows nodeSelector: kubernetes.io/os: windows containers: - name: bwf-editor image: miregistro/bwfmetaedit:1.0 args: - "--in-place" - "--Description=Grabación Kubernetica" - "C:\\data\\audio\\entrada.wav" volumeMounts: - name: audio-storage mountPath: C:\data restartPolicy: Never volumes: - name: audio-storage persistentVolumeClaim: claimName: audio-pvc Ejemplo 2: CronJob para procesado periódico Ideal para revisar archivos entrantes cada hora: Uso de InitContainers para descargar el EXE dinámicamente