====== ZEDEDA Tags and Deployments ====== Tags provide a simple way to control where applications are deployed in ZEDEDA. Instead of deploying an application to individual edge nodes, assign tags to your nodes and create deployments that target those tags. ===== Deployment Flow ===== Edge Node Tags | v Deployment | v Applications | v Matching Edge Nodes ===== Example ===== Three edge nodes exist in the environment. ^ Edge Node ^ Tag ^ | plant-01 | site:plant | | plant-02 | site:plant | | lab-01 | site:lab | Create a deployment targeting: site:plant Result: Deployment site:plant | +---------+---------+ | | v v plant-01 plant-02 site:plant site:plant lab-01 site:lab Not Selected The deployment is instantiated only on plant-01 and plant-02. ===== Tag Format ===== Tags use the format: key:value Examples: site:houston environment:prod role:manufacturing customer:toyota hardware:orin release:stable Use a consistent naming convention throughout the environment. ===== Recommended Tags ===== ^ Tag ^ Example ^ Purpose ^ | site | site:houston | Physical location | | environment | environment:prod | Production, test, or lab | | role | role:manufacturing | Node function | | customer | customer:toyota | Customer or tenant | | hardware | hardware:orin | Hardware platform | | release | release:stable | Software release group | ===== Deployment Workflow ===== ==== Step 1 - Tag Edge Nodes ==== Assign tags to each edge node. Example: plant01-edge01 environment:prod site:plant01 role:manufacturing ==== Step 2 - Create Applications ==== Create or import the required applications. Example: Ignition Node-RED MQTT Broker AI Inference ==== Step 3 - Create a Deployment ==== Create a deployment that contains the required applications. Example: Manufacturing Production Applications Ignition MQTT Broker Node-RED Target the deployment with: environment:prod ==== Step 4 - ZEDEDA Matches the Tags ==== ZEDEDA compares deployment tags with edge node tags. Deployment Target environment:prod | | +——+——+ | | v v plant01-edge01 plant01-edge02 environment:prod environment:prod Applications are deployed to every matching node. ===== Adding a New Edge Node ===== When a new edge node is onboarded with the appropriate tags, it becomes eligible for the deployment. Example: plant01-edge03 environment:prod site:plant01 Because a deployment already targets: environment:prod ZEDEDA applies the deployment automatically. ===== Manufacturing Example ===== ^ Edge Node ^ Tags ^ | plant01-edge01 | site:plant01, environment:prod | | plant01-edge02 | site:plant01, environment:prod | | plant01-test01 | site:plant01, environment:test | | lab-edge01 | site:lab, environment:test | Deployment Target: environment:prod Selected Nodes: plant01-edge01 plant01-edge02 ===== Oil and Gas Example ===== ^ Edge Node ^ Tags ^ | rig01-edge01 | site:rig01, environment:prod | | rig01-edge02 | site:rig01, environment:prod | | rig02-edge01 | site:rig02, environment:prod | | houston-lab01 | site:houston, environment:lab | Deployment Target: site:rig01 Applications: Ignition Edge MQTT Broker AI Inference Monitoring Agent Only the Rig 01 systems receive the deployment. ===== Canary Deployment ===== Stable production nodes: release:stable One test node: release:canary Example: Deployment V1 Target release:stable Deployment V2 Target release:canary This allows validation of a new application version before deployment across the entire fleet. ===== Tag Types ===== ZEDEDA uses tags in several areas. ^ Tag Type ^ Purpose ^ | Edge Node Tags | Identify and classify edge nodes | | Deployment Tags | Select deployment targets | | Network Tags | Network selection | | Adapter Tags | Network adapter selection | | Kubernetes Node Pool Tags | Cluster node selection | For most deployments, only Edge Node Tags and Deployment Tags are required. ===== Tag Naming ===== Recommended format: site:houston environment:prod role:manufacturing release:stable Avoid inconsistent naming. Example: environment:prod Environment:Production env:PROD Choose one format and use it consistently. Tag keys should contain at least three characters. Tag values should also contain at least three characters. ===== Typical Deployment Workflow ===== 1. Tag Edge Nodes environment:prod | v 2. Create Deployment Target environment:prod | v 3. Add Applications Ignition MQTT Broker Node-RED | v 4. ZEDEDA Deploys Applications All Matching Edge Nodes ===== Summary ===== Tags provide a scalable method of targeting deployments across large fleets of edge nodes. Applications are deployed based on matching tag values instead of selecting individual devices. A common deployment model uses only three tags: site: environment: role: Additional tags such as release, customer, or hardware can be introduced as deployment requirements grow.