User Tools

Site Tools


duplicating_encoding_profiles

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
duplicating_encoding_profiles [2021/09/21 14:49] – [Editing the encoding profile] walkeradminduplicating_encoding_profiles [2023/03/09 22:35] (current) – external edit 127.0.0.1
Line 35: Line 35:
 ---- ----
  
 + --- //[[al@nwalker.co.uk|Alan Walker]] 2021/09/21 14:49// --- //[[al@nwalker.co.uk|Alan Walker]] 2021/09/21 14:49//
 ==== Editing the encoding profile ==== ==== Editing the encoding profile ====
 \\  \\ 
Line 42: Line 43:
 Below is the format of the default encoding-hd yaml file: Below is the format of the default encoding-hd yaml file:
 \\  \\ 
-<file+<code yaml
-/home/mediakind +mdt-kinds: 
-</file>+  - kind: profile 
 +    name: encoding-hd 
 +    version: '' 
 +    packages: 
 +      - deploy-package: encoding-live-worker-hd 
 +        version: 25.14.76+4.0.19 
 +  - kind: deploy-package 
 +    deploy-package: 
 +      name: encoding-live-worker-hd 
 +      version: 25.14.76+4.0.19 
 +    chart: 
 +      name: encoding-live-worker 
 +      version: 25.14.76 
 +    namespace: '{{ products_var.namespace }}' 
 +    deploy_list: 
 +      - mkel-hd1 
 +    options: 
 +      mdt: 
 +        deployment_stage:
 +        upgrade: 
 +          policy: immediate 
 +      helm: 
 +        wait: false 
 +        timeout: 300 
 +    values: 
 +      image: 
 +        serverdaemon: 
 +          repository: '{{ products_var.docker_registry }}/mediakind/server-daemon' 
 +          tag: '{{ products_var.server_daemon.tag }}' 
 +        worker: 
 +          repository: '{{ products_var.docker_registry }}/mediakind/encoding-live-worker' 
 +        redis: 
 +          repository: '{{ products_var.docker_registry }}/redis' 
 +          tag: '{{ products_var.redis.tag }}' 
 +        alarmProxy: 
 +          repository: '{{ products_var.docker_registry }}/mediakind/alarm-proxy' 
 +          tag: '{{ products_var.alarm_proxy.tag }}' 
 +        initcontainer: 
 +          repository: '{{ products_var.docker_registry }}/busybox' 
 +          tag: 1.30.1 
 +      alarmsViaRedisInWorkerPod: '{{ products_var.features.alarmsViaRedisInWorkerPod }}' 
 +      el_worker: 
 +        server_mngt_nic: '{{ products_var.server_mngt_nic }}' 
 +        mpeg4cfg: | 
 +          perChannelLicensing=true 
 +      qsv: 
 +        enable: false 
 +      mongo: 
 +        name: '{{ products_var.mongo.name }}' 
 +        database: '{{ products_var.mongo.replicasetname }}' 
 +        replica: '{{ products_var.mongo.replica }}' 
 +      muhook: 
 +        enable: '{{ products_var.features.muconv }}' 
 +        interface: '{{ products_var.server_mngt_nic }}' 
 +        process_name: '*liveTranscoder' 
 +        log_level: 4 
 +        log_output: stderr 
 +      unified_ui: 
 +        name: api-gateway 
 +      rabbitmq: 
 +        name: '{{ products_var.rabbitmq.name }}' 
 +      etcd_mu: 
 +        name: '{{ products_var.etcd.name }}' 
 +        port: '{{ products_var.etcd.port }}' 
 +      redis: 
 +        name: '{{ products_var.redis.name }}' 
 +      volumes: 
 +        log: 
 +          enable: '{{ products_var.log_volume }}' 
 +      license_server_addr: '{{ products_var.license_server }}' 
 +      server_processing_name: LiveEncoder 
 +      nodeSelector: '{{ mdt.current_profile.profile_name_label }}' 
 +      resources: 
 +        requests: 
 +          cpu: 9 
 +      privilegedInitContainer: 
 +        enabled: true 
 +        command: 
 +          - sysctl 
 +          - '-w' 
 +      affinity: 
 +        podAntiAffinity: 
 +          requiredDuringSchedulingIgnoredDuringExecution: 
 +            - topologyKey: kubernetes.io/hostname 
 +              labelSelector: 
 +                matchLabels: 
 +                  app: encoding-live-worker 
 +</code> 
 +\\  
 +We need to change a few lines, see below for a side-by-side comparison, where the original text is on the left and the edited text on the right. 
 +\\  
 +\\  
 +{{ :encoding_profile_change_01.png?900 |}} 
 +\\  
 +The first three lines we edit are just for the profile names, and the associated deploy package. Line 17 is where we change the deploy list names, if you are working with a PoD per node, then you add an entry here for each node that you want this encoding profile for, so if you want 5 encoding profiles of this type, you enter the names of those five encoding profiles (mkel1, mkel2, mkel3, mkel4 and mkel5 for instance). 
 +\\  
 +\\  
 +If you are working with PoD per service, you would enter the service name here, and will only have a single item in your deploy list, bbc1 for instance. You will have to create this file for each service PoD you will require. 
 +\\  
 +\\ 
  
 +----
 +
 +==== Adding the new encoding profile to MDT ====
 +\\ 
 +Once you have created your new encoding profiles, you can upload them to MDT. To do this use the 'Import Profile' button at the top right of the MDT web UI (ensure you are in profile view).
 +\\ 
 +\\ 
 +{{ :import_profile.png?900 |}}
 +\\ 
 +Now select your profile
 +\\ 
 +\\ 
 +{{ :import_profile_02.png?800 |}}
 +\\ 
 +\\ 
 +Once uploaded you will see a confirmation panel.
 +\\ 
 +\\ 
 +{{ :import_profile_03.png?600 |}}
 +\\ 
 +\\ 
 +Click okay. Your new encoding profile will be at the bottom of the MDT profile page.
 +\\ 
 +\\ 
 +{{ :import_profile_04.png?900 |}}
 +\\ 
 +\\ 
 +To make it active, edit the profile, add some nodes and deploy it.
 +\\ 
 +\\ 
 +
 +----
 +
 +==== Edited encoding profile ====
 +\\ 
 +Below is the edited file that was used in this process.
 +\\ 
 +\\ 
 +<code yaml>
 +mdt-kinds:
 +  - kind: profile
 +    name: encoding-sky-hd-01
 +    version: ''
 +    packages:
 +      - deploy-package: encoding-live-worker-sky-hd-01
 +        version: 25.14.76+4.0.19
 +  - kind: deploy-package
 +    deploy-package:
 +      name: encoding-live-worker-sky-hd-01
 +      version: 25.14.76+4.0.19
 +    chart:
 +      name: encoding-live-worker
 +      version: 25.14.76
 +    namespace: '{{ products_var.namespace }}'
 +    deploy_list:
 +      - sky-01
 +    options:
 +      mdt:
 +        deployment_stage: 5
 +        upgrade:
 +          policy: immediate
 +      helm:
 +        wait: false
 +        timeout: 300
 +    values:
 +      image:
 +        serverdaemon:
 +          repository: '{{ products_var.docker_registry }}/mediakind/server-daemon'
 +          tag: '{{ products_var.server_daemon.tag }}'
 +        worker:
 +          repository: '{{ products_var.docker_registry }}/mediakind/encoding-live-worker'
 +        redis:
 +          repository: '{{ products_var.docker_registry }}/redis'
 +          tag: '{{ products_var.redis.tag }}'
 +        alarmProxy:
 +          repository: '{{ products_var.docker_registry }}/mediakind/alarm-proxy'
 +          tag: '{{ products_var.alarm_proxy.tag }}'
 +        initcontainer:
 +          repository: '{{ products_var.docker_registry }}/busybox'
 +          tag: 1.30.1
 +      alarmsViaRedisInWorkerPod: '{{ products_var.features.alarmsViaRedisInWorkerPod }}'
 +      el_worker:
 +        server_mngt_nic: '{{ products_var.server_mngt_nic }}'
 +        mpeg4cfg: |
 +          perChannelLicensing=true
 +      qsv:
 +        enable: false
 +      mongo:
 +        name: '{{ products_var.mongo.name }}'
 +        database: '{{ products_var.mongo.replicasetname }}'
 +        replica: '{{ products_var.mongo.replica }}'
 +      muhook:
 +        enable: '{{ products_var.features.muconv }}'
 +        interface: '{{ products_var.server_mngt_nic }}'
 +        process_name: '*liveTranscoder'
 +        log_level: 4
 +        log_output: stderr
 +      unified_ui:
 +        name: api-gateway
 +      rabbitmq:
 +        name: '{{ products_var.rabbitmq.name }}'
 +      etcd_mu:
 +        name: '{{ products_var.etcd.name }}'
 +        port: '{{ products_var.etcd.port }}'
 +      redis:
 +        name: '{{ products_var.redis.name }}'
 +      volumes:
 +        log:
 +          enable: '{{ products_var.log_volume }}'
 +      license_server_addr: '{{ products_var.license_server }}'
 +      server_processing_name: LiveEncoder
 +      nodeSelector: '{{ mdt.current_profile.profile_name_label }}'
 +      resources:
 +        requests:
 +          cpu: 7
 +          memory: 4Gi
 +        limits:
 +          cpu: 15
 +          memory: 10Gi
 +      privilegedInitContainer:
 +        enabled: true
 +        command:
 +          - sysctl
 +          - '-w'
 +      affinity:
 +        podAntiAffinity:
 +          requiredDuringSchedulingIgnoredDuringExecution:
 +            - topologyKey: kubernetes.io/hostname
 +              labelSelector:
 +                matchLabels:
 +                  app: encoding-live-worker
 +</code>
duplicating_encoding_profiles.1632232162.txt.gz · Last modified: 2023/03/09 22:35 (external edit)