{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
        "slug": "budget-memory-backed-emptydir-separately-from-local-ephemeral-storage",
        "url": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/"
        },
        "title": "Budget memory-backed emptyDir separately from local ephemeral storage",
        "summary": "Kubernetes accounts tmpfs emptyDir as container memory rather than local ephemeral storage. Review the volume medium and supported node filesystem layout before accepting the resource budget.",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "advisory",
            "name": "Advisory"
        },
        "featured": false,
        "image": {
            "theme": "continuity-recovery",
            "label": "Continuity & recovery",
            "alt": "Paired infrastructure paths converging on a stable recovered service.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "business-continuity",
                "name": "Business Continuity",
                "url": "https://update.dsesecurity.com/topic/business-continuity/"
            },
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-10-29T19:49:27+00:00",
        "modified_at": "2026-10-29T19:50:09+00:00",
        "reviewed_on": "2026-10-29",
        "reading_minutes": 3,
        "word_count": 509,
        "potentially_affected": "Review scope: documented emptyDir and node-local ephemeral-storage accounting; filesystem project-quota monitoring and its beta configuration are excluded.",
        "dse_recommendation": "Map each scratch volume to its actual medium and corresponding resource budget, then verify accounting on an approved node layout.",
        "primary_source": {
            "name": "Kubernetes — Local ephemeral storage",
            "url": "https://kubernetes.io/docs/concepts/storage/ephemeral-storage/",
            "published_on": null,
            "authority": "kubernetes.io"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<p><strong>Bottom line:</strong> Identify where scratch data is stored before choosing a resource limit. Keep a memory-backed volume and a node-filesystem volume as separate budget cases rather than treating every temporary directory as the same storage resource.</p>\n<h2>Source fact: documented behavior</h2>\n<p>The <a href=\"https://kubernetes.io/docs/concepts/storage/ephemeral-storage/\" target=\"_blank\" rel=\"noopener noreferrer\">Local ephemeral storage</a> documentation is the primary reference.</p>\n<p>The kubelet tracks tmpfs <code>emptyDir</code> volumes as container memory use, rather than local ephemeral storage. When managing local ephemeral storage, the kubelet measures disk-backed <code>emptyDir</code>, node-level log directories and writable container layers. Ephemeral-storage accounting depends on supported node filesystem layouts; additional filesystems mounted outside those layouts can cause incorrect reporting.</p>\n<h2>What the source does not establish</h2>\n<p>This article selects the relevant scratch-data budget and observation path. It does not provide durable-data protection, promise a performance level or size a workload universally. It excludes the separate beta project-quota monitoring feature and any production memory-exhaustion exercise.</p>\n<h2>Applicability questions</h2>\n<ul>\n<li>Is the selected emptyDir backed by tmpfs or a node filesystem?</li>\n<li>Which resource budget should include its planned data?</li>\n<li>Does the node use a documented supported storage layout?</li>\n<li>What bounded workload can demonstrate the actual accounting without exhausting the node?</li>\n</ul>\n<h2>DSE recommendation: map scratch data to its resource owner</h2>\n<p>DSE recommends a volume worksheet with the workload, volume definition, medium and expected scratch-data envelope. Put the intended memory budget and local-storage budget in different columns. Have the application owner state the required data lifetime and cleanup behavior without treating the word temporary as a sizing decision.</p>\n<p>Review the node layout with the cluster administrator before interpreting a storage observation. Name the filesystems that hold the scratch volume, container layers and relevant logs. Keep any separately mounted location visible in the review instead of assuming that a familiar directory name establishes supported accounting.</p>\n<p>Choose proposed limits from the workload requirement and an authorized test envelope. Keep application heap or process-memory demand alongside any planned memory-backed scratch allocation. For disk-backed scratch, include the other in-scope local-storage consumers in the review. Do not transfer a value between the two budgets merely to silence an alert.</p>\n<p>Agree an observation and stop condition before testing. Use harmless data and a fixed maximum write amount, with the node owner monitoring the selected resource. Preserve an unexpected accounting gap as a finding about the configuration or collector rather than increasing the limit until the symptom disappears.</p>\n<h2>Verification and evidence</h2>\n<p>Proposed verification, not performed: prepare two disposable workload definitions that differ only in the reviewed scratch-volume medium and use a small fixed set of harmless files. Write which budget should reflect each case before running it, and inspect the actual node and workload observations through approved tools.</p>\n<p>Record the volume definition, filesystem layout, amount written, resource observations and cleanup result. Stop before either memory or storage pressure exceeds the approved envelope. Compare an unexplained measurement with the supported-layout review before repeating the test. Accept only the observed medium and node arrangement; keep data durability and application performance under their separate requirements.</p>\n<h2>Official references</h2>\n<ul>\n<li><a href=\"https://kubernetes.io/docs/concepts/storage/ephemeral-storage/\" target=\"_blank\" rel=\"noopener noreferrer\">Local ephemeral storage</a> — Kubernetes.</li>\n</ul>\n<p>Source review completed October 29, 2026. Recheck the official documentation and deployment-specific applicability before a production change.</p>\n",
        "content_text": "Bottom line: Identify where scratch data is stored before choosing a resource limit. Keep a memory-backed volume and a node-filesystem volume as separate budget cases rather than treating every temporary directory as the same storage resource.\nSource fact: documented behavior\nThe Local ephemeral storage documentation is the primary reference.\nThe kubelet tracks tmpfs emptyDir volumes as container memory use, rather than local ephemeral storage. When managing local ephemeral storage, the kubelet measures disk-backed emptyDir, node-level log directories and writable container layers. Ephemeral-storage accounting depends on supported node filesystem layouts; additional filesystems mounted outside those layouts can cause incorrect reporting.\nWhat the source does not establish\nThis article selects the relevant scratch-data budget and observation path. It does not provide durable-data protection, promise a performance level or size a workload universally. It excludes the separate beta project-quota monitoring feature and any production memory-exhaustion exercise.\nApplicability questions\n\nIs the selected emptyDir backed by tmpfs or a node filesystem?\nWhich resource budget should include its planned data?\nDoes the node use a documented supported storage layout?\nWhat bounded workload can demonstrate the actual accounting without exhausting the node?\n\nDSE recommendation: map scratch data to its resource owner\nDSE recommends a volume worksheet with the workload, volume definition, medium and expected scratch-data envelope. Put the intended memory budget and local-storage budget in different columns. Have the application owner state the required data lifetime and cleanup behavior without treating the word temporary as a sizing decision.\nReview the node layout with the cluster administrator before interpreting a storage observation. Name the filesystems that hold the scratch volume, container layers and relevant logs. Keep any separately mounted location visible in the review instead of assuming that a familiar directory name establishes supported accounting.\nChoose proposed limits from the workload requirement and an authorized test envelope. Keep application heap or process-memory demand alongside any planned memory-backed scratch allocation. For disk-backed scratch, include the other in-scope local-storage consumers in the review. Do not transfer a value between the two budgets merely to silence an alert.\nAgree an observation and stop condition before testing. Use harmless data and a fixed maximum write amount, with the node owner monitoring the selected resource. Preserve an unexpected accounting gap as a finding about the configuration or collector rather than increasing the limit until the symptom disappears.\nVerification and evidence\nProposed verification, not performed: prepare two disposable workload definitions that differ only in the reviewed scratch-volume medium and use a small fixed set of harmless files. Write which budget should reflect each case before running it, and inspect the actual node and workload observations through approved tools.\nRecord the volume definition, filesystem layout, amount written, resource observations and cleanup result. Stop before either memory or storage pressure exceeds the approved envelope. Compare an unexplained measurement with the supported-layout review before repeating the test. Accept only the observed medium and node arrangement; keep data durability and application performance under their separate requirements.\nOfficial references\n\nLocal ephemeral storage — Kubernetes.\n\nSource review completed October 29, 2026. Recheck the official documentation and deployment-specific applicability before a production change.",
        "content_markdown": "Bottom line: Identify where scratch data is stored before choosing a resource limit. Keep a memory-backed volume and a node-filesystem volume as separate budget cases rather than treating every temporary directory as the same storage resource.\n\n## Source fact: documented behavior\n\nThe [Local ephemeral storage](https://kubernetes.io/docs/concepts/storage/ephemeral-storage/) documentation is the primary reference.\n\nThe kubelet tracks tmpfs emptyDir volumes as container memory use, rather than local ephemeral storage. When managing local ephemeral storage, the kubelet measures disk-backed emptyDir, node-level log directories and writable container layers. Ephemeral-storage accounting depends on supported node filesystem layouts; additional filesystems mounted outside those layouts can cause incorrect reporting.\n\n## What the source does not establish\n\nThis article selects the relevant scratch-data budget and observation path. It does not provide durable-data protection, promise a performance level or size a workload universally. It excludes the separate beta project-quota monitoring feature and any production memory-exhaustion exercise.\n\n## Applicability questions\n\n- Is the selected emptyDir backed by tmpfs or a node filesystem?\n\n- Which resource budget should include its planned data?\n\n- Does the node use a documented supported storage layout?\n\n- What bounded workload can demonstrate the actual accounting without exhausting the node?\n\n## DSE recommendation: map scratch data to its resource owner\n\nDSE recommends a volume worksheet with the workload, volume definition, medium and expected scratch-data envelope. Put the intended memory budget and local-storage budget in different columns. Have the application owner state the required data lifetime and cleanup behavior without treating the word temporary as a sizing decision.\n\nReview the node layout with the cluster administrator before interpreting a storage observation. Name the filesystems that hold the scratch volume, container layers and relevant logs. Keep any separately mounted location visible in the review instead of assuming that a familiar directory name establishes supported accounting.\n\nChoose proposed limits from the workload requirement and an authorized test envelope. Keep application heap or process-memory demand alongside any planned memory-backed scratch allocation. For disk-backed scratch, include the other in-scope local-storage consumers in the review. Do not transfer a value between the two budgets merely to silence an alert.\n\nAgree an observation and stop condition before testing. Use harmless data and a fixed maximum write amount, with the node owner monitoring the selected resource. Preserve an unexpected accounting gap as a finding about the configuration or collector rather than increasing the limit until the symptom disappears.\n\n## Verification and evidence\n\nProposed verification, not performed: prepare two disposable workload definitions that differ only in the reviewed scratch-volume medium and use a small fixed set of harmless files. Write which budget should reflect each case before running it, and inspect the actual node and workload observations through approved tools.\n\nRecord the volume definition, filesystem layout, amount written, resource observations and cleanup result. Stop before either memory or storage pressure exceeds the approved envelope. Compare an unexplained measurement with the supported-layout review before repeating the test. Accept only the observed medium and node arrangement; keep data durability and application performance under their separate requirements.\n\n## Official references\n\n- [Local ephemeral storage](https://kubernetes.io/docs/concepts/storage/ephemeral-storage/) — Kubernetes.\n\nSource review completed October 29, 2026. Recheck the official documentation and deployment-specific applicability before a production change."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
                "url": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-10-29"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Business Continuity",
                        "item": "https://update.dsesecurity.com/topic/business-continuity/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 3,
                        "name": "Budget memory-backed emptyDir separately from local ephemeral storage",
                        "item": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/#article",
                "identifier": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
                "url": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/",
                "headline": "Budget memory-backed emptyDir separately from local ephemeral storage",
                "description": "Kubernetes accounts tmpfs emptyDir as container memory rather than local ephemeral storage.",
                "abstract": "Kubernetes accounts tmpfs emptyDir as container memory rather than local ephemeral storage. Review the volume medium and supported node filesystem layout before accepting the resource budget.",
                "articleBody": "Bottom line: Identify where scratch data is stored before choosing a resource limit. Keep a memory-backed volume and a node-filesystem volume as separate budget cases rather than treating every temporary directory as the same storage resource.\nSource fact: documented behavior\nThe Local ephemeral storage documentation is the primary reference.\nThe kubelet tracks tmpfs emptyDir volumes as container memory use, rather than local ephemeral storage. When managing local ephemeral storage, the kubelet measures disk-backed emptyDir, node-level log directories and writable container layers. Ephemeral-storage accounting depends on supported node filesystem layouts; additional filesystems mounted outside those layouts can cause incorrect reporting.\nWhat the source does not establish\nThis article selects the relevant scratch-data budget and observation path. It does not provide durable-data protection, promise a performance level or size a workload universally. It excludes the separate beta project-quota monitoring feature and any production memory-exhaustion exercise.\nApplicability questions\n\nIs the selected emptyDir backed by tmpfs or a node filesystem?\nWhich resource budget should include its planned data?\nDoes the node use a documented supported storage layout?\nWhat bounded workload can demonstrate the actual accounting without exhausting the node?\n\nDSE recommendation: map scratch data to its resource owner\nDSE recommends a volume worksheet with the workload, volume definition, medium and expected scratch-data envelope. Put the intended memory budget and local-storage budget in different columns. Have the application owner state the required data lifetime and cleanup behavior without treating the word temporary as a sizing decision.\nReview the node layout with the cluster administrator before interpreting a storage observation. Name the filesystems that hold the scratch volume, container layers and relevant logs. Keep any separately mounted location visible in the review instead of assuming that a familiar directory name establishes supported accounting.\nChoose proposed limits from the workload requirement and an authorized test envelope. Keep application heap or process-memory demand alongside any planned memory-backed scratch allocation. For disk-backed scratch, include the other in-scope local-storage consumers in the review. Do not transfer a value between the two budgets merely to silence an alert.\nAgree an observation and stop condition before testing. Use harmless data and a fixed maximum write amount, with the node owner monitoring the selected resource. Preserve an unexpected accounting gap as a finding about the configuration or collector rather than increasing the limit until the symptom disappears.\nVerification and evidence\nProposed verification, not performed: prepare two disposable workload definitions that differ only in the reviewed scratch-volume medium and use a small fixed set of harmless files. Write which budget should reflect each case before running it, and inspect the actual node and workload observations through approved tools.\nRecord the volume definition, filesystem layout, amount written, resource observations and cleanup result. Stop before either memory or storage pressure exceeds the approved envelope. Compare an unexplained measurement with the supported-layout review before repeating the test. Accept only the observed medium and node arrangement; keep data durability and application performance under their separate requirements.\nOfficial references\n\nLocal ephemeral storage — Kubernetes.\n\nSource review completed October 29, 2026. Recheck the official documentation and deployment-specific applicability before a production change.",
                "datePublished": "2026-10-29T19:49:27+00:00",
                "dateModified": "2026-10-29T19:50:09+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/budget-memory-backed-emptydir-separately-from-local-ephemeral-storage/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Budget memory-backed emptyDir separately from local ephemeral storage"
                },
                "articleSection": [
                    "Business Continuity",
                    "IT"
                ],
                "keywords": [
                    "Business Continuity",
                    "IT",
                    "Guide",
                    "Advisory priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Business Continuity",
                        "url": "https://update.dsesecurity.com/topic/business-continuity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    }
                ],
                "wordCount": 509,
                "timeRequired": "PT3M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Kubernetes — Local ephemeral storage",
                    "url": "https://kubernetes.io/docs/concepts/storage/ephemeral-storage/"
                }
            }
        ]
    }
}