Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.
Overview
Follow the steps below to create a workload within your GVC.
Click Containers to configure the container image, ports, commands, environment variables, and mounted files. For details, see workload containers.
Click Identity and select one of the available identities. If no identities are defined, leave this field blank.
Click Firewall to configure firewall settings for the workload. For details, see workload firewall settings.
Click Load Balancer to configure load-balancing settings for the workload. For details, see workload load balancing.
Click Advanced Settings to configure additional workload settings. For details, see workload general settings.
Click Sidecar | Envoy to configure sidecar and Envoy settings for the workload. For details, see workload JWT authentication.
Depending on the requirements of your container, the firewall options can be configured to allow either or both inbound and outbound requests.If your container will be accepting requests from the Internet, verify that the All Inbound Requests Allowed switch is turned on or enter the expected CIDRs.If your container requires Internet access, verify that the All Outbound Requests Allowed switch is turned on or enter the expected CIDRs or hostnames in their respective text boxes.
The workload summary page is then shown.After a few moments, if the image is deployed successfully, the Health status will show Ready.You can click the Canonical Endpoint (Global) link to open it in a new tab.
Create using the CLI
Refer to the workload create command for details and examples.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Control Plane","description":"Documentation for Control Plane, a hybrid multi-cloud platform for deploying and managing workloads, Kubernetes, networking, secrets, logs, and infrastructure across AWS, GCP, Azure, and private clouds.","colors":{"primary":"#1563ff","light":"#64a5ef","dark":"#1563ff"},"logo":{"light":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/dark.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=ec7b5a4bb958adc4d92dedfb41ab2e3c","dark":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/light.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=4904ca0b5a8c55fa87495b8edd04aadc"},"favicon":"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/favicon.png?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=11640a5f7b1a462c233be7a72afa72d7","api":{"openapi":["https://api.cpln.io/openapi.json","https://audit.cpln.io/openapi.json"],"mdx":{"auth":{"method":"bearer"},"server":"https://api.cpln.io"}},"navbar":{"links":[{"href":"https://console.cpln.io/signin","label":"Sign in"}],"primary":{"type":"button","label":"Sign up","href":"https://console.cpln.io/signup"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/control-plane-corporation","youtube":"https://www.youtube.com/@controlplanecorporation","reddit":"https://www.reddit.com/r/controlplane"}},"search":{"prompt":"Search Control Plane docs..."},"seo":{"indexing":"navigable"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity",{"title":"Install MCP Server","description":"Connect the Control Plane MCP Server to your AI tool","icon":"plug","href":"https://docs.controlplane.com/ai/overview"}],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Website","icon":"compass","href":"https://controlplane.com"},{"anchor":"Status","icon":"signal","href":"https://status.cpln.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://controlplane.com/blog"},{"anchor":"FAQ","icon":"question","href":"https://controlplane.com/faq"},{"anchor":"Product Demos","icon":"video","href":"https://controlplane.com/product-demos"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"controlplanecorporation","hasAudioNarration":false,"actualSubdomain":"controlplanecorporation","customDomains":["docs.controlplane.com"],"gitSource":{"type":"github","owner":"controlplane-docs","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af74ac7edb28480f6e55598","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":173},{"language":"default","tag":"Core API","count":164},{"language":"default","tag":"Template Catalog","count":113},{"language":"default","tag":"Templates","count":103},{"language":"default","tag":"Home","count":79},{"language":"default","tag":"How-to Guides","count":72},{"language":"default","tag":"CLI Reference","count":66},{"language":"default","tag":"Reference","count":49},{"language":"default","tag":"Commands","count":38},{"language":"default","tag":"Workload","count":24}],"searchSettings":{"maxResults":5}},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"global.css","content":"html{overflow-y:scroll}"},{"filePath":"style.css","content":"img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(69%) sepia(9%) saturate(309%) hue-rotate(176deg) brightness(95%) contrast(87%)!important}a[aria-current=\"page\"] img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(3000%) hue-rotate(213deg) brightness(102%) contrast(101%)!important}.dark img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(47%) sepia(8%) saturate(420%) hue-rotate(177deg) brightness(94%) contrast(85%)!important}.dark a[aria-current=\"page\"] img[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) saturate(100%) invert(63%) sepia(74%) saturate(380%) hue-rotate(186deg) brightness(98%) contrast(91%)!important}img.sidebar-group-icon[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0)!important}.dark img.sidebar-group-icon[src*=\"/icons/mcp-sidebar.svg\"]{filter:brightness(0) invert(1)!important}img[src*=\"/icons/mcp.svg\"]{filter:brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(3000%) hue-rotate(213deg) brightness(102%) contrast(101%)!important}.dark img[src*=\"/icons/mcp.svg\"]{filter:brightness(0) saturate(100%) invert(63%) sepia(74%) saturate(380%) hue-rotate(186deg) brightness(98%) contrast(91%)!important}.dark img[src*=\"/icons/chatgpt.svg\"],.dark img[src*=\"/icons/codex.svg\"],.dark img[src*=\"/icons/cursor.svg\"],.dark img[src*=\"/icons/opencode.svg\"]{filter:invert(1)!important}"}],"page":{"pagePath":"guides/create-workload","slug":"/guides/create-workload","pageMetadata":{"title":"Create a Workload","description":"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.","keywords":["cpln workload create","first workload","new service","kubectl create deployment","docker run service","spec yaml","workload manifest","launch app","deploy microservice"],"href":"/guides/create-workload"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`Follow the steps below to create a `,_jsx(_components.a,{href:`/reference/workload`,children:`workload`}),` within your `,_jsx(_components.a,{href:`/reference/gvc`,children:`GVC`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Review the `,_jsx(_components.a,{href:`/reference/workload`,children:`workload`}),` reference page.`]}),`\n`,_jsxs(_components.li,{children:[`Have `,_jsx(_components.a,{href:`/reference/policy#permissions`,children:`permissions`}),` to create a `,_jsx(_components.a,{href:`/reference/workload`,children:`workload`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Optional: Install the `,_jsx(_components.a,{href:`/cli-reference/installation`,children:`CLI`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-using-the-console`,children:`Create using the Console`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Create a new workload using one of the following methods:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Workloads`}),` in the left menu, then click `,_jsx(_components.code,{children:`New`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click the `,_jsx(_components.code,{children:`Create`}),` dropdown in the upper right corner and select `,_jsx(_components.code,{children:`Workload`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsx(_components.li,{children:`Enter a unique name, an optional description, and select the GVC where the workload will be created.`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Options`}),` to configure workload settings. For details, see `,_jsx(_components.a,{href:`/reference/workload/general`,children:`workload general settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Containers`}),` to configure the container image, ports, commands, environment variables, and mounted files. For details, see `,_jsx(_components.a,{href:`/reference/workload/containers`,children:`workload containers`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Identity`}),` and select one of the available `,_jsx(_components.a,{href:`/reference/identity`,children:`identities`}),`. If no identities are defined, leave this field blank.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Firewall`}),` to configure firewall settings for the workload. For details, see `,_jsx(_components.a,{href:`/reference/workload/firewall`,children:`workload firewall settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Load Balancer`}),` to configure load-balancing settings for the workload. For details, see `,_jsx(_components.a,{href:`/reference/workload/load-balancing`,children:`workload load balancing`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Advanced Settings`}),` to configure additional workload settings. For details, see `,_jsx(_components.a,{href:`/reference/workload/general`,children:`workload general settings`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Sidecar | Envoy`}),` to configure sidecar and Envoy settings for the workload. For details, see `,_jsx(_components.a,{href:`/reference/workload/jwt-auth`,children:`workload JWT authentication`}),`.`]}),`\n`]}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Depending on the requirements of your container, the firewall options can be configured to allow either or both inbound and outbound requests.`}),_jsxs(_components.p,{children:[`If your container will be accepting requests from the Internet, verify that the `,_jsx(_components.code,{children:`All Inbound Requests Allowed`}),` switch is turned on or enter the expected CIDRs.`]}),_jsxs(_components.p,{children:[`If your container requires Internet access, verify that the `,_jsx(_components.code,{children:`All Outbound Requests Allowed`}),` switch is turned on or enter the expected CIDRs or hostnames in their respective text boxes.`]})]}),`\n`,_jsxs(_components.ol,{start:`10`,children:[`\n`,_jsxs(_components.li,{children:[`Optionally, click `,_jsx(_components.code,{children:`Tags`}),` and enter any `,_jsx(_components.a,{href:`/core/misc#tags`,children:`tags`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.code,{children:`Create`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`The workload summary page is then shown.`}),`\n`,_jsxs(_components.p,{children:[`After a few moments, if the image is deployed successfully, the `,_jsx(_components.code,{children:`Health`}),` status will show `,_jsx(_components.code,{children:`Ready`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`You can click the `,_jsx(_components.code,{children:`Canonical Endpoint (Global)`}),` link to open it in a new tab.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-using-the-cli`,children:`Create using the CLI`}),`\n`,_jsxs(_components.p,{children:[`Refer to the `,_jsx(_components.a,{href:`/cli-reference/commands/workload#workload-create`,children:`workload create`}),` command for details and examples.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create a Workload","description":"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.","keywords":["cpln workload create","first workload","new service","kubectl create deployment","docker run service","spec yaml","workload manifest","launch app","deploy microservice"],"href":"/guides/create-workload"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Create using the Console","slug":"create-using-the-console","depth":2,"children":[]},{"title":"Create using the CLI","slug":"create-using-the-cli","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/controlplanecorporation/20452e834d3719a6/content/legacy-cli-hash-redirects.js","/_mintlify/custom/controlplanecorporation/dd1961f62f732454/content/sync-tabs.js"],"subdomain":"controlplanecorporation","siteName":"Control Plane","title":"Create a Workload - Control Plane","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-23T00:59:13.776Z","originalFileLocation":"guides/create-workload.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Control Plane\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a Workload - Control Plane\">\u003cmeta data-mint-head property=\"og:description\" content=\"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Control Plane\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.controlplane.com/guides/create-workload\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://controlplanecorporation.mintlify.site/_mintlify/api/og/v2?division=Create+Resources\u0026amp;title=Create+a+Workload\u0026amp;description=Deploy+containerized+applications+step+by+step+via+the+Console+or+CLI.+Covers+container+setup%2C+identity+assignment%2C+scaling+options%2C+and+firewall+rules.\u0026amp;theme=565533155d08f0e2a83ec355\u0026amp;signature=2edc5fe604dec53758407131f3085e0e176296f48b54423617489e601a5d6910\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a Workload - Control Plane\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://controlplanecorporation.mintlify.site/_mintlify/api/og/v2?division=Create+Resources\u0026amp;title=Create+a+Workload\u0026amp;description=Deploy+containerized+applications+step+by+step+via+the+Console+or+CLI.+Covers+container+setup%2C+identity+assignment%2C+scaling+options%2C+and+firewall+rules.\u0026amp;theme=565533155d08f0e2a83ec355\u0026amp;signature=2edc5fe604dec53758407131f3085e0e176296f48b54423617489e601a5d6910\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/controlplanecorporation/N_jUg8p-q778yjKC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Control Plane\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1563ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.controlplane.com/guides/create-workload\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/create-workload.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.controlplane.com/#organization\",\"name\":\"Control Plane\",\"url\":\"https://docs.controlplane.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/controlplanecorporation/hwvJiAoqIziVJ3gK/logos/dark.svg?fit=max\u0026auto=format\u0026n=hwvJiAoqIziVJ3gK\u0026q=85\u0026s=ec7b5a4bb958adc4d92dedfb41ab2e3c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.controlplane.com#website\",\"name\":\"Control Plane\",\"url\":\"https://docs.controlplane.com\",\"publisher\":{\"@id\":\"https://docs.controlplane.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.controlplane.com/guides/create-workload#webpage\",\"url\":\"https://docs.controlplane.com/guides/create-workload\",\"name\":\"Create a Workload\",\"description\":\"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\",\"dateModified\":\"2026-05-23T00:59:13.776Z\",\"isPartOf\":{\"@id\":\"https://docs.controlplane.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.controlplane.com/guides/create-workload#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.controlplane.com/guides/create-workload#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Create Resources\",\"item\":\"https://docs.controlplane.com/guides/agent\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a Workload\",\"item\":\"https://docs.controlplane.com/guides/create-workload\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.controlplane.com/guides/create-workload#article\",\"headline\":\"Create a Workload\",\"name\":\"Create a Workload\",\"description\":\"Deploy containerized applications step by step via the Console or CLI. Covers container setup, identity assignment, scaling options, and firewall rules.\",\"url\":\"https://docs.controlplane.com/guides/create-workload\",\"mainEntityOfPage\":{\"@id\":\"https://docs.controlplane.com/guides/create-workload#webpage\"},\"dateModified\":\"2026-05-23T00:59:13.776Z\",\"keywords\":\"cpln workload create, first workload, new service, kubectl create deployment, docker run service, spec yaml, workload manifest, launch app, deploy microservice\",\"publisher\":{\"@id\":\"https://docs.controlplane.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.controlplane.com#website\"}}]}\u003c/script>","agentPointerHref":"/guides/create-workload.md","siteName":"Control Plane","nav":{"global":{"anchors":[{"anchor":"Website","icon":"compass","href":"https://controlplane.com"},{"anchor":"Status","icon":"signal","href":"https://status.cpln.io/"},{"anchor":"Blog","icon":"newspaper","href":"https://controlplane.com/blog"},{"anchor":"FAQ","icon":"question","href":"https://controlplane.com/faq"},{"anchor":"Product Demos","icon":"video","href":"https://controlplane.com/product-demos"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/introduction"}]},{"tab":"How-to Guides","groups":[{"group":"How-to Guides","icon":"list-ol","pages":[{"title":"How-to Guides","sidebarTitle":"Overview","href":"/guides/overview"}]},{"group":"CLI Configuration","icon":"terminal","pages":[{"title":"Browser-less CLI Login","href":"/guides/browser-less-cli-login"}]},{"group":"Integrations","icon":"plug","pages":[{"title":"Kubernetes Operator","href":"/guides/cli/cpln-operator"}]},{"group":"Configure Resources","icon":"gear","pages":[{"title":"Configure a CDN","href":"/guides/configure-cdn"},{"title":"Configure a Domain","href":"/guides/configure-domain"},{"title":"Configure an Agent","href":"/guides/setup-agent"},{"title":"Connect to RDS with an Agent","href":"/guides/connect-rds-with-agent"},{"title":"Configure an Agent (Legacy)","href":"/guides/setup-agent-legacy"},{"title":"Invite Users","href":"/guides/invite-users"},{"title":"Manage Quotas","href":"/guides/manage-quotas"},{"title":"Query Costs and Usage","href":"/guides/query-costs-and-usage"},{"title":"Rate Limiting","href":"/guides/rate-limiting"},{"title":"Resource Protection","href":"/guides/resource-protection"},{"title":"Service-to-Service Calls","href":"/guides/service-to-service"}]},{"group":"Create Resources","icon":"circle-plus","pages":[{"title":"Create an Agent","href":"/guides/agent"},{"title":"Create an Audit Context","href":"/guides/create-audit-context"},{"title":"Create a Cloud Account","href":"/guides/create-cloud-account"},{"title":"Create a Group","href":"/guides/create-group"},{"title":"Create a GVC","href":"/guides/create-gvc"},{"title":"Create an Identity","href":"/guides/create-identity"},{"title":"Create an Org","href":"/guides/create-org"},{"title":"Create a Policy","href":"/guides/policy"},{"group":"Create a Secret","pages":[{"title":"Create a Secret","sidebarTitle":"Overview","href":"/guides/create-secret/overview"},{"title":"AWS","href":"/guides/create-secret/aws"},{"title":"Azure Connector","href":"/guides/create-secret/azure-connector"},{"title":"Azure SDK","href":"/guides/create-secret/azure-sdk"},{"title":"Dictionary","href":"/guides/create-secret/dictionary"},{"title":"Docker","href":"/guides/create-secret/docker"},{"title":"ECR","href":"/guides/create-secret/ecr"},{"title":"GCP","href":"/guides/create-secret/gcp"},{"title":"Keypair","href":"/guides/create-secret/keypair"},{"title":"NATS Account","href":"/guides/create-secret/nats-account"},{"title":"Opaque","href":"/guides/create-secret/opaque"},{"title":"TLS","href":"/guides/create-secret/tls"},{"title":"Username \u0026 Password","href":"/guides/create-secret/userpass"}]},{"title":"Create a Service Account","description":"Create a service account within your org and generate API keys for programmatic access to Control Plane resources.","href":"/guides/create-service-account"},{"title":"Create a Workload","href":"/guides/create-workload"}]},{"group":"Deployment","icon":"rocket","pages":[{"title":"Apply YAML Manifests","description":"Deploy and manage Control Plane resources using JSON or YAML files for GitOps, scripting, and automation.","href":"/guides/cpln-apply"},{"title":"Blue/Green Deployments","href":"/guides/blue-green-deployments"},{"title":"Convert Kubernetes Manifests","href":"/guides/cli/cpln-convert"},{"title":"Delete Resources from Manifests","href":"/guides/cpln-delete"},{"title":"Deploy Docker Compose Projects","href":"/guides/compose-deploy"},{"title":"Deploy a Workload to Your Own Hardware","sidebarTitle":"Deploy to Your Own Hardware","href":"/guides/deploy-to-your-own-hardware"},{"title":"Manage Helm Releases","href":"/guides/cpln-helm"}]},{"group":"GitOps","icon":"code-branch","pages":[{"title":"CI/CD Examples","href":"/guides/gitops"},{"title":"Environment Promotion","href":"/guides/environment-promotion"},{"title":"Jenkins Plugin","href":"/guides/jenkins-plugin"}]},{"group":"Images","icon":"docker","pages":[{"title":"Push Images to Registry","href":"/guides/push-image"},{"title":"Pull Images from Registries","href":"/guides/pull-image"},{"title":"Copy Images Between Organizations","href":"/guides/copy-image"},{"title":"Publishing \u0026 Converting VM Images","href":"/guides/vm-images"},{"title":"Build with Buildpacks","href":"/guides/buildpacks"}]},{"group":"Native Networking","icon":"network-wired","pages":[{"title":"Native Networking Setup","href":"/guides/native-networking/native-networking-setup"},{"group":"AWS PrivateLink","pages":[{"title":"PrivateLink with RDS","href":"/guides/native-networking/aws-privatelink/privatelink-rds-terraform"}]},{"group":"GCP Private Service Connect","pages":[{"title":"PSC with Cloud SQL","href":"/guides/native-networking/private-service-connect/cloud-sql"}]}]},{"group":"Observability","icon":"chart-line","pages":[{"title":"Centralized Metrics Management","sidebarTitle":"Metrics Management","href":"/guides/centralized-metrics-management"},{"title":"Default Metrics","href":"/guides/default-metrics"},{"title":"Export Metrics to Prometheus","href":"/guides/export-metrics"}]},{"group":"Sandbox","icon":"laptop-code","pages":[{"title":"Getting Started with Sandbox","href":"/guides/sandbox/getting-started"},{"title":"Building Toolbox Images","href":"/guides/sandbox/toolbox-images"},{"title":"Sandbox Web UI","href":"/guides/sandbox/ui-reference"},{"title":"Container Internals","href":"/guides/sandbox/container-internals"},{"title":"Terminal \u0026 tmux","href":"/guides/sandbox/terminal-tmux"},{"title":"Sandbox Helper CLI","href":"/guides/sandbox/sandbox-helper"},{"title":"Multi-Repo Workspaces","href":"/guides/sandbox/multi-repo"}]},{"group":"Workload Access","icon":"key","pages":[{"title":"Connect to Workloads","href":"/guides/cli/workload/connect"},{"title":"Copy Files to/from Workloads","href":"/guides/cli/cpln-cp"},{"title":"Execute Commands in Workloads","href":"/guides/cli/workload/exec"},{"title":"Port Forward to Workloads","href":"/guides/cli/cpln-port-forward"},{"title":"Run One-off Workloads","href":"/guides/cli/workload/run"},{"title":"Run Commands with Cron Workloads","href":"/guides/cli/workload/cron-run"}]}]},{"tab":"Template Catalog","pages":[{"title":"Template Catalog","href":"/template-catalog/overview"}]},{"tab":"Managed Kubernetes","pages":[{"title":"Managed Kubernetes","href":"/mk8s/overview"}]},{"tab":"CPLN BYOK","pages":[{"title":"CPLN BYOK","href":"/byok/overview"}]},{"tab":"AI Agents","pages":[{"title":"AI Agents","href":"/ai/overview"}]},{"tab":"Infra as Code","pages":[{"title":"Infra as Code","href":"/iac/overview"}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli-reference/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/api"}]}]},"basePath":"","title":"Create a Workload - Control Plane","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}