1"use strict";(self.webpackChunkk_3_s_docs=self.webpackChunkk_3_s_docs||[]).push([[7869],{93346:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>h,frontMatter:()=>r,metadata:()=>n,toc:()=>c});const n=JSON.parse('{"id":"related-projects","title":"Related Projects","description":"Projects implementing the K3s distribution are welcome additions to help expand the community. These projects help to:","source":"@site/docs/related-projects.md","sourceDirName":".","slug":"/related-projects","permalink":"/related-projects","draft":false,"unlisted":false,"editUrl":"https://github.com/k3s-io/docs/edit/main/docs/related-projects.md","tags":[],"version":"current","lastUpdatedAt":1789781277000,"frontMatter":{"title":"Related Projects"},"sidebar":"mySidebar","previous":{"title":"v1.24.X","permalink":"/release-notes-old/v1.24.X"},"next":{"title":"Known Issues","permalink":"/known-issues"}}');var o=s(74848),i=s(28453);const r={title:"Related Projects"},l=void 0,a={},c=[{value:"k3s-ansible",id:"k3s-ansible",level:2},{value:"k3sup",id:"k3sup",level:2},{value:"autok3s",id:"autok3s",level:2},{value:"hetzner-k3s",id:"hetzner-k3s",level:2}];function d(e){const t={a:"a",h2:"h2",li:"li",p:"p",ul:"ul",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(t.p,{children:"Projects implementing the K3s distribution are welcome additions to help expand the community. These projects help to:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Explore K3s capabilities and potential applications."}),"\n",(0,o.jsx)(t.li,{children:"Extend K3s functionality across different platforms and environments."}),"\n",(0,o.jsx)(t.li,{children:"Simplify the process of creating large High Availability (HA) K3s clusters."}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"k3s-ansible",children:"k3s-ansible"}),"\n",(0,o.jsxs)(t.p,{children:["For users seeking to bootstrap a multi-node K3s cluster and familiar with ansible, take a look at ",(0,o.jsx)(t.a,{href:"https://github.com/k3s-io/k3s-ansible",children:"k3s-io/k3s-ansible"})," repository. This set of ansible playbooks provides a convenient way to install K3s on your nodes, allowing you to focus on the configuration of your cluster rather than the installation process."]}),"\n",(0,o.jsx)(t.h2,{id:"k3sup",children:"k3sup"}),"\n",(0,o.jsxs)(t.p,{children:["Another project that simplifies the process of setting up a K3s cluster is ",(0,o.jsx)(t.a,{href:"https://github.com/alexellis/k3sup",children:"k3sup"}),". This project, written in golang, only requires ssh access to your nodes. It also provides a convenient way to deploy K3s with external datastores, not just the embedded etcd."]}),"\n",(0,o.jsx)(t.h2,{id:"autok3s",children:"autok3s"}),"\n",(0,o.jsxs)(t.p,{children:["Another provisioning tool, ",(0,o.jsx)(t.a,{href:"https://github.com/cnrancher/autok3s",children:"autok3s"}),", provides a GUI for provising k3s cluster across a range of cloud providers, VMs, and local machines. This tool is useful for users who prefer a graphical interface for provising K3s clusters."]}),"\n",(0,o.jsx)(t.h2,{id:"hetzner-k3s",children:"hetzner-k3s"}),"\n",(0,o.jsxs)(t.p,{children:["For users who deploy on Hetzner Cloud, take a look at ",(0,o.jsx)(t.a,{href:"https://github.com/vitobotta/hetzner-k3s",children:"hetzner-k3s"}),". This CLI tool, written in Crystal, handles the additional steps required to set up a K3s cluster on Hetzner Cloud."]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(d,{...e})}):d(e)}},28453:(e,t,s)=>{s.d(t,{R:()=>r,x:()=>l});var n=s(96540);const o={},i=n.createContext(o);function r(e){const t=n.useContext(i);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:r(e.components),n.createElement(i.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.