<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Guides for Specific Cases in Cozystack Deployment on Cozystack</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/</link><description>Recent content in Guides for Specific Cases in Cozystack Deployment on Cozystack</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/index.xml" rel="self" type="application/rss+xml"/><item><title>How to install Talos on a single-disk machine</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/single-disk/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/single-disk/</guid><description>&lt;p&gt;Default Talos setup assumes that each node has a primary and secondary disks, used for system and user storage, respectively.
However, it&amp;rsquo;s possible to use a single disk, allocating space for user storage.&lt;/p&gt;
&lt;p&gt;This configuration must be applied with the first 
&lt;a href="https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/kubernetes/talosctl/#3-apply-node-configuration" target="_blank"&gt;&lt;code&gt;talosctl apply&lt;/code&gt;&lt;/a&gt;
or 
&lt;a href="https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/kubernetes/talm/#3-apply-node-configuration" target="_blank"&gt;&lt;code&gt;talm apply&lt;/code&gt;&lt;/a&gt;
— the one with the &lt;code&gt;-i&lt;/code&gt; (&lt;code&gt;--insecure&lt;/code&gt;) flag.
Applying changes after initialization will not have any effect.&lt;/p&gt;
&lt;p&gt;For &lt;code&gt;talosctl&lt;/code&gt;, append the following lines to &lt;code&gt;patch.yaml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0e84b5;font-weight:bold"&gt;---&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;apiVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;v1alpha1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;VolumeConfig&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;EPHEMERAL&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;provisioning&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;minSize&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;70GiB&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#0e84b5;font-weight:bold"&gt;---&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;apiVersion&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;v1alpha1&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;kind&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;UserVolumeConfig&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;name&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;data-storage&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;provisioning&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;diskSelector&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;match&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;disk.transport == &amp;#39;nvme&amp;#39;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;minSize&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;400GiB&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For &lt;code&gt;talm&lt;/code&gt;, append the same lines at end of the first node&amp;rsquo;s configuration file, such as &lt;code&gt;nodes/node1.yaml&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Public-network Kubernetes deployment</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/public-ip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/public-ip/</guid><description>&lt;p&gt;A Kubernetes cluster for Cozystack can be deployed using only public networks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Both management and worker nodes have public IP addresses.&lt;/li&gt;
&lt;li&gt;Worker nodes connect to the management nodes over the public Internet, without a private internal network or VPN.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Such a setup is not recommended for production, but can be used for research and testing,
when hosting limitations prevent provisioning a private network.&lt;/p&gt;
&lt;p&gt;To enable this setup when deploying with &lt;code&gt;talosctl&lt;/code&gt;, add the following data in the node configuration files:&lt;/p&gt;</description></item><item><title>How to configure network bonding (LACP)</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/bonding/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/bonding/</guid><description>&lt;p&gt;Network bonding allows you to combine multiple physical network interfaces into a single logical interface.
This provides increased bandwidth and link redundancy.&lt;/p&gt;
&lt;p&gt;LACP (Link Aggregation Control Protocol, IEEE 802.3ad) is the most common bonding mode,
which dynamically negotiates link aggregation with the network switch.&lt;/p&gt;


&lt;div class="alert alert-warning" role="alert"&gt;


 LACP requires configuration on both the server and the network switch.
Make sure your switch has a corresponding LACP port-channel configured for the server&amp;rsquo;s ports.

&lt;/div&gt;

&lt;h2 id="identify-network-interfaces"&gt;Identify network interfaces&lt;/h2&gt;
&lt;p&gt;After running &lt;code&gt;talm template&lt;/code&gt;, the generated node configuration file will contain
a comment block with discovered network interfaces:&lt;/p&gt;</description></item><item><title>How to Enable KubeSpan</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/kubespan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/kubespan/</guid><description>&lt;p&gt;Talos Linux provides a full mesh WireGuard network for your cluster.&lt;/p&gt;
&lt;p&gt;To enable this functionality, you need to configure 
&lt;a href="https://www.talos.dev/v1.8/talos-guides/network/kubespan/" target="_blank"&gt;KubeSpan&lt;/a&gt; and 
&lt;a href="https://www.talos.dev/v1.2/kubernetes-guides/configuration/discovery/" target="_blank"&gt;Cluster Discovery&lt;/a&gt; in your Talos Linux configuration:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;machine&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;network&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;kubespan&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;cluster&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;discovery&lt;/span&gt;:&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;enabled&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;true&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Since KubeSpan encapsulates traffic into a WireGuard tunnel, Kube-OVN should also be configured with a lower MTU value.&lt;/p&gt;
&lt;p&gt;To achieve this, add the following to the &lt;code&gt;networking&lt;/code&gt; component of your Platform Package:&lt;/p&gt;</description></item><item><title>How to enable Hugepages</title><link>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/hugepages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-470--cozystack.netlify.app/docs/v1/install/how-to/hugepages/</guid><description>&lt;p&gt;Enabling Hugepages for Cozystack can be done both on initial installation and at any time after it.
Applying this configuration after installation will require a full node reboot.&lt;/p&gt;
&lt;p&gt;Read more in the Linux Kernel documentation: 
&lt;a href="https://docs.kernel.org/admin-guide/mm/hugetlbpage.html" target="_blank"&gt;HugeTLB Pages&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="using-talm"&gt;Using Talm&lt;/h2&gt;
&lt;p&gt;Requires Talm &lt;code&gt;v0.16.0&lt;/code&gt; or later.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Add the following lines to &lt;code&gt;values.yaml&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#0e84b5;font-weight:bold"&gt;...&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;certSANs&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;[]&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#bbb"&gt;&lt;/span&gt;&lt;span style="color:#062873;font-weight:bold"&gt;nr_hugepages&lt;/span&gt;:&lt;span style="color:#bbb"&gt; &lt;/span&gt;&lt;span style="color:#40a070"&gt;3000&lt;/span&gt;&lt;span style="color:#bbb"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;vm.nr_hugepages&lt;/code&gt; is the count of pages per 2Mi.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the configuration:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;talm apply -f nodes/node0.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Finally, reboot the nodes:&lt;/p&gt;</description></item></channel></rss>