<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">"use strict";(self.webpackChunkreplicated_docs=self.webpackChunkreplicated_docs||[]).push([[666],{73965:(e,n,t)=&gt;{t.d(n,{Ay:()=&gt;a,RM:()=&gt;s});var i=t(74848),o=t(28453);const s=[];function r(e){const n={code:"code",em:"em",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(n.p,{children:["To provision a cluster on a VM or bare metal server, kURL uses a spec that is defined in a manifest file with ",(0,i.jsx)(n.code,{children:"apiVersion: cluster.kurl.sh/v1beta1"})," and ",(0,i.jsx)(n.code,{children:"kind: Installer"}),". This spec (called a ",(0,i.jsx)(n.em,{children:"kURL installer"}),") lists the kURL add-ons that will be included in the cluster. kURL provides add-ons for networking, storage, ingress, and more. kURL also provides a KOTS add-on, which installs KOTS in the cluster and deploys the KOTS Admin Console. You can customize the kURL installer according to your application requirements."]})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},14744:(e,n,t)=&gt;{t.d(n,{Ay:()=&gt;a,RM:()=&gt;s});var i=t(74848),o=t(28453);const s=[];function r(e){const n={a:"a",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"kURL is an open source project maintained by Replicated that software vendors can use to create custom Kubernetes distributions that are embedded with their application. Enterprise customers can then run a kURL installation script on their virtual machine (VM) or bare metal server to provision a cluster and install the application. This allows software vendors to distribute Kubernetes applications to customers that do not have access to a cluster in their environment."}),"\n",(0,i.jsxs)(n.p,{children:["For more information about the kURL open source project, see the ",(0,i.jsx)(n.a,{href:"https://kurl.sh",children:"kURL website"}),"."]})]})}function a(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},60096:(e,n,t)=&gt;{t.r(n),t.d(n,{assets:()=&gt;d,contentTitle:()=&gt;l,default:()=&gt;p,frontMatter:()=&gt;a,metadata:()=&gt;c,toc:()=&gt;h});var i=t(74848),o=t(28453),s=t(14744),r=t(73965);const a={},l="Introduction to kURL",c={id:"vendor/kurl-about",title:"Introduction to kURL",description:"This topic provides an introduction to the Replicated kURL installer, including information about kURL specifications and installations.",source:"@site/docs/vendor/kurl-about.mdx",sourceDirName:"vendor",slug:"/vendor/kurl-about",permalink:"/vendor/kurl-about",draft:!1,unlisted:!1,editUrl:"https://github.com/replicatedhq/replicated-docs/edit/main/docs/vendor/kurl-about.mdx",tags:[],version:"current",frontMatter:{},sidebar:"main",previous:{title:"Disaster Recovery for Embedded Cluster (Alpha)",permalink:"/vendor/embedded-disaster-recovery"},next:{title:"Creating a kURL Installer",permalink:"/vendor/packaging-embedded-kubernetes"}},d={},h=[{value:"Overview",id:"overview",level:2},...s.RM,{value:"kURL Installers",id:"kurl-installers",level:3},...r.RM,{value:"kURL Installations",id:"kurl-installations",level:3},{value:"About the Open Source kURL Documentation",id:"about-the-open-source-kurl-documentation",level:2}];function u(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",p:"p",pre:"pre",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.header,{children:(0,i.jsx)(n.h1,{id:"introduction-to-kurl",children:"Introduction to kURL"})}),"\n",(0,i.jsx)(n.p,{children:"This topic provides an introduction to the Replicated kURL installer, including information about kURL specifications and installations."}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["The Replicated KOTS entitlement is required to install applications with KOTS and kURL. For more information, see ",(0,i.jsx)(n.a,{href:"https://www.replicated.com/pricing",children:"Pricing"})," on the Replicated website."]})}),"\n",(0,i.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(n.h3,{id:"kurl-installers",children:"kURL Installers"}),"\n",(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsxs)(n.p,{children:["To distribute a kURL installer alongside your application, you can promote the installer to a channel or include the installer as a manifest file within a given release. For more information about creating kURL installers, see ",(0,i.jsx)(n.a,{href:"/vendor/packaging-embedded-kubernetes",children:"Creating a kURL Installer"}),"."]}),"\n",(0,i.jsx)(n.h3,{id:"kurl-installations",children:"kURL Installations"}),"\n",(0,i.jsx)(n.p,{children:"To install with kURL, users run a kURL installation script on their VM or bare metal server to provision a cluster."}),"\n",(0,i.jsx)(n.p,{children:"When the KOTS add-on is included in the kURL installer spec, the kURL installation script installs the KOTS CLI and KOTS Admin Console in the cluster. After the installation script completes, users can access the Admin Console at the URL provided in the ouput of the command to configure and deploy the application with KOTS."}),"\n",(0,i.jsx)(n.p,{children:"The following shows an example of the output of the kURL installation script:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-bash",children:"        Installation\n          Complete \u2714\n\nKotsadm: http://10.128.0.35:8800\nLogin with password (will not be shown again): 3Hy8WYYid\n\nThis password has been set for you by default. It is recommended that you change\nthis password; this can be done with the following command:\nkubectl kots reset-password default\n"})}),"\n",(0,i.jsx)(n.p,{children:"kURL installations are supported in online (internet-connected) and air gapped environments."}),"\n",(0,i.jsxs)(n.p,{children:["For information about how to install applications with kURL, see ",(0,i.jsx)(n.a,{href:"/enterprise/installing-kurl",children:"Online Installation with kURL"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"about-the-open-source-kurl-documentation",children:"About the Open Source kURL Documentation"}),"\n",(0,i.jsxs)(n.p,{children:["The open source documentation for the kURL project is available at ",(0,i.jsx)(n.a,{href:"https://kurl.sh/docs/introduction/",children:"kurl.sh"}),"."]}),"\n",(0,i.jsx)(n.p,{children:"The open source kURL documentation contains additional information including kURL installation options, kURL add-ons, and procedural content such as how to add and manage nodes in kURL clusters. Software vendors can use the open source kURL documentation to find detailed reference information when creating kURL installer specs or testing installation."})]})}function p(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},28453:(e,n,t)=&gt;{t.d(n,{R:()=&gt;r,x:()=&gt;a});var i=t(96540);const o={},s=i.createContext(o);function r(e){const n=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);</pre></body></html>