{"id":14949,"date":"2026-09-11T14:09:42","date_gmt":"2026-09-11T06:09:42","guid":{"rendered":"https:\/\/ai-stack.ai\/?p=14949"},"modified":"2026-09-11T14:28:20","modified_gmt":"2026-09-11T06:28:20","slug":"ai-stack-network-policy","status":"publish","type":"post","link":"https:\/\/ai-stack.ai\/en\/ai-stack-network-policy","title":{"rendered":"How Does AI-Stack Isolate Network Traffic Between Workloads? A Network Policy Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Once you&#8217;ve got multiple teams, model services, and AI applications sharing the same Kubernetes cluster and GPU pool, IAM stops being enough on its own. Roles and permissions tell you <em>who<\/em> can touch what \u2014 they say nothing about which workloads are allowed to talk to each other over the network. That&#8217;s a separate problem, and it&#8217;s the one AI-Stack Network Policy is built to solve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, it comes down to a handful of questions any platform team runs into sooner or later:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Which subnets should be allowed to reach a given AI workload \u2014 and which should be locked out?<\/li>\n\n\n\n<li>Where is that workload allowed to connect out to, and what should be off-limits?<\/li>\n\n\n\n<li>Inside one project, which containers actually need a policy applied to them at all?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">AI-Stack closes that gap with built-in Network Policy: users set ingress and egress rules on the platform and apply them to specific pods in a project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Every policy has three parts \u2014 <strong>ingress<\/strong> (allowed and excluded source subnets), <strong>egress<\/strong> (allowed and excluded destination subnets), and <strong>scope<\/strong> (which pods it applies to). Together, they let you draw real security boundaries between workloads on shared infrastructure.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Network Policy Actually Controls<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Network Policy on AI-Stack works across four layers:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ingress control.<\/strong> Allow and exclude source subnets to decide what can reach a workload.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Egress control.<\/strong> Allow and exclude destination subnets to decide where a workload can connect out to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pod-level scope.<\/strong> Apply a policy to specific pods in a project, so different workloads run under different rules.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Project-level isolation.<\/strong> Turn on Enhanced Network Isolation Mode and AI-Stack enforces the boundary between projects automatically \u2014 no per-workload setup required.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Two Modes, Two Philosophies<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Not every team needs the same level of control. Some want to hand-tune ingress and egress rules around their own architecture; others want hard multi-project isolation with zero room for user error.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">AI-Stack covers both with two distinct modes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Standard Mode<\/strong> \u2014 you configure the rules, workload by workload.<\/li>\n\n\n\n<li><strong>Enhanced Network Isolation Mode<\/strong> \u2014 the system enforces isolation for you, no exceptions.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">One is about flexibility. The other is about guarantees.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Standard Mode: Rules That Fit the Workload<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standard Mode fits when access boundaries need to vary by application, by model service, or by your existing network architecture.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Users can build a Network Policy directly in AI-Stack, setting <strong>ingress and egress rules<\/strong> (allow\/exclude subnets) and choosing exactly which pods in a project each policy applies to.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" width=\"1200\" height=\"630\" data-attachment-id=\"14930\" data-permalink=\"https:\/\/ai-stack.ai\/en\/ai-stack-network-policy\/%e6%a8%99%e6%ba%96%e6%a8%a1%e5%bc%8f-2-2\" data-orig-file=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/22a5f3c0-1.png?fit=1200%2C630&amp;quality=100&amp;ct=202603031250&amp;ssl=1\" data-orig-size=\"1200,630\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"\u6a19\u6e96\u6a21\u5f0f\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/22a5f3c0-1.png?fit=1024%2C538&amp;quality=100&amp;ct=202603031250&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/22a5f3c0-1.png?resize=1200%2C630&#038;quality=100&#038;ct=202603031250&#038;ssl=1\" alt=\"\" class=\"wp-image-14930\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ingress rules<\/strong> \u2014 allow and exclude subnets that define exactly which source networks are in scope.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Egress rules<\/strong> \u2014 the same idea, applied outbound.<br>A RAG application that only ever needs to hit a couple of internal subnets can be scoped down to just those, instead of leaving its egress wide open.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Scope<\/strong> \u2014 which pods in the project the policy actually touches. This is what lets workloads in the <em>same<\/em> project run under completely different rules, for example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lock the model server down with a tight ingress policy<\/li>\n\n\n\n<li>Open the RAG application up to the internal subnets it genuinely needs<\/li>\n\n\n\n<li>Give the web application its own separate set of ingress and egress rules entirely<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The result: access control shaped around what each workload actually does, not a one-size-fits-all rule.<br><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Enhanced Network Isolation Mode: The System Draws the Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">On higher-security shared infrastructure, letting people manage their own Network Policy isn&#8217;t always good enough \u2014 rules drift, get misconfigured, or get forgotten. That&#8217;s the gap Enhanced Network Isolation Mode closes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of leaving policy to users, AI-Stack takes over completely: once enabled, pods in one project simply can&#8217;t reach pods in another.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Take an example:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Project A<\/strong> \u2014 vLLM, a RAG application, a web application<\/li>\n\n\n\n<li><strong>Project B<\/strong> \u2014 a model service, an AI application, a dev pod<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">With this mode enabled, Project A and Project B are walled off from each other by default \u2014 no direct pod-to-pod connections, no exceptions. Because the boundary lives at the system level, not in a config someone could get wrong, there&#8217;s no way for a missing rule or a bad edit to break isolation later.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img data-recalc-dims=\"1\" decoding=\"async\" width=\"1200\" height=\"630\" data-attachment-id=\"14934\" data-permalink=\"https:\/\/ai-stack.ai\/en\/ai-stack-network-policy\/%e7%b6%b2%e8%b7%af%e5%bc%b7%e5%8c%96%e9%9a%94%e9%9b%a2%e6%a8%a1%e5%bc%8f-2\" data-orig-file=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/ea588cee.png?fit=1200%2C630&amp;quality=100&amp;ct=202603031250&amp;ssl=1\" data-orig-size=\"1200,630\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;,&quot;alt&quot;:&quot;&quot;}\" data-image-title=\"\u7db2\u8def\u5f37\u5316\u9694\u96e2\u6a21\u5f0f\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/ea588cee.png?fit=1024%2C538&amp;quality=100&amp;ct=202603031250&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/ea588cee.png?resize=1200%2C630&#038;quality=100&#038;ct=202603031250&#038;ssl=1\" alt=\"\" class=\"wp-image-14934\"\/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Standard Mode vs.<\/strong> <strong>Enhanced Network Isolation Mode<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><\/td><td><strong>Standard Mode<\/strong><\/td><td><strong>Enhanced Network Isolation Mode<\/strong><\/td><\/tr><tr><td>Who manages it<\/td><td>You do<\/td><td>AI-Stack does<\/td><\/tr><tr><td>Ingress \/ egress rules<\/td><td>Configurable (allow\/exclude subnets)<\/td><td>AI-Stack does<\/td><\/tr><tr><td>Scope<\/td><td>You pick the target pods<\/td><td>Applied system-wide<\/td><\/tr><tr><td>What it&#8217;s for<\/td><td>Fine-grained control per workload<\/td><td>Guaranteed isolation between projects<\/td><\/tr><tr><td>Best fit<\/td><td>Teams needing flexible rules<\/td><td>High-security, multi-tenant setups<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>In short:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Standard Mode decides <em>which networks a pod can talk to<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enhanced Network Isolation Mode decides <em>whether pods in different projects can talk to each other at all<\/em> \u2014 and the answer is no.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQ<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How does Network Policy control Ingress and Egress?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Network Policy defines separate Ingress and Egress rules to control allowed or blocked network traffic, enabling network isolation between workloads.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What&#8217;s the core difference between the two modes?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Standard Mode puts you in the driver&#8217;s seat: you build the policies, set the subnets, pick the pods. Enhanced Network Isolation Mode takes that decision away and enforces project-to-project isolation from the system side.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What exactly can I configure in Standard Mode?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ingress allow\/exclude subnets, egress allow\/exclude subnets, and which pods in a project each policy applies to.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can I tweak Enhanced Network Isolation Mode rules myself?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No \u2014 by design. It&#8217;s a system-level control, not a user-facing one, so a misconfigured or outdated rule can never quietly open a gap between projects.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What does Enhanced Network Isolation Mode actually block?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Direct pod-to-pod communication across projects \u2014 cutting off a whole class of cross-project access and lateral-movement risk.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>When does Enhanced Network Isolation Mode make sense?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It&#8217;s the right call when:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Multiple departments share one GPU cluster<\/li>\n\n\n\n<li>Multiple customers share the same AI infrastructure<\/li>\n\n\n\n<li>Different projects handle data with different sensitivity levels<\/li>\n\n\n\n<li>You have real multi-tenancy requirements<\/li>\n\n\n\n<li>Project isolation needs to be mandatory, not something a user can dial back<\/li>\n\n\n\n<li>You want isolation enforced by the system, not left to individual users<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Can I switch Enhanced Network Isolation Mode on or off after installing?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No. It&#8217;s decided once, at install time \u2014 changing it later means a full reinstall.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Bottom Line<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AI infrastructure rarely stays a single model and a single team for long \u2014 it grows into multiple models, applications, and projects sharing the same Kubernetes and GPU resources. At that point, one layer of network control isn&#8217;t enough.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That&#8217;s why AI-Stack offers both. Standard Mode gives users fine-grained control shaped around each workload&#8217;s needs. Enhanced Network Isolation Mode takes the opposite approach \u2014 no configuration, no exceptions, just a guaranteed boundary enforced by the system itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Together, they let flexible workload-level policy and hard project-level isolation coexist \u2014 so shared Kubernetes and GPU infrastructure doesn&#8217;t force a trade-off between flexibility and security.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Curious how AI-Stack Network Policy and Enhanced Network Isolation Mode could fit into your own environment? Reach out to the INFINITIX team.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On high-security shared infrastructure, network Policy defines separate Ingress and Egress rules to control allowed or blocked network traffic, enabling network isolation between workloads.<\/p>\n","protected":false},"author":253372388,"featured_media":14950,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[96987570,96987598],"tags":[],"class_list":["post-14949","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-support","category-product-features"],"blocksy_meta":[],"acf":[],"jetpack_shortlink":"https:\/\/wp.me\/ph344V-3T7","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/ai-stack.ai\/wp-content\/uploads\/2026\/09\/64bd9a27.jpg?fit=1920%2C1080&quality=100&ct=202603031250&ssl=1","_links":{"self":[{"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/posts\/14949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/users\/253372388"}],"replies":[{"embeddable":true,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/comments?post=14949"}],"version-history":[{"count":1,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/posts\/14949\/revisions"}],"predecessor-version":[{"id":14954,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/posts\/14949\/revisions\/14954"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/media\/14950"}],"wp:attachment":[{"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/media?parent=14949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/categories?post=14949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ai-stack.ai\/en\/wp-json\/wp\/v2\/tags?post=14949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}