<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Katamarina - PaaS-платформа для построения облачных инфраструктур. – Руководство по развертыванию Cozystack</title><link>https://katamarina.ru/docs/cozystack/online_v_1_5/install/</link><description>Recent content in Руководство по развертыванию Cozystack on Katamarina - PaaS-платформа для построения облачных инфраструктур.</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="https://katamarina.ru/docs/cozystack/online_v_1_5/install/index.xml" rel="self" type="application/rss+xml"/><item><title>Docs: Автоматизированная установка с Ansible</title><link>https://katamarina.ru/docs/cozystack/online_v_1_5/install/ansible/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://katamarina.ru/docs/cozystack/online_v_1_5/install/ansible/</guid><description>
&lt;h1 id="автоматизированная-установка-с-ansible">Автоматизированная установка с Ansible&lt;/h1>
&lt;p>Ansible collection
&lt;a href="https://github.com/cozystack/ansible-cozystack" target="_blank">cozystack.installer&lt;/a> автоматизирует весь pipeline развертывания: подготовку ОС, bootstrap кластера k3s и установку Cozystack. Она подходит для развертывания Cozystack на bare-metal серверах или ВМ со стандартным дистрибутивом Linux.&lt;/p>
&lt;h2 id="когда-использовать-ansible">Когда использовать Ansible&lt;/h2>
&lt;p>Рассмотрите этот подход, если:&lt;/p>
&lt;ul>
&lt;li>Вам нужно полностью автоматизированное, повторяемое развертывание от чистой ОС до работающего Cozystack&lt;/li>
&lt;li>Вы развертываете платформу на generic Linux (Ubuntu, Debian, RHEL, Rocky, openSUSE), а не на Talos Linux&lt;/li>
&lt;li>Вы хотите управлять несколькими узлами через один inventory-файл&lt;/li>
&lt;/ul>
&lt;p>Шаги ручной установки без Ansible см. в руководстве
&lt;a href="https://cozystack.ru/docs/v1.5/install/kubernetes/generic/" target="_blank">Generic Kubernetes&lt;/a>.&lt;/p>
&lt;h2 id="предварительные-требования">Предварительные требования&lt;/h2>
&lt;h3 id="управляющая-машина">Управляющая машина&lt;/h3>
&lt;ul>
&lt;li>Python &amp;gt;= 3.9&lt;/li>
&lt;li>Ansible &amp;gt;= 2.15&lt;/li>
&lt;/ul>
&lt;h3 id="целевые-узлы">Целевые узлы&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Операционная система&lt;/strong>: Ubuntu/Debian, RHEL 8+/CentOS Stream 8+/Rocky/Alma или openSUSE/SLE&lt;/li>
&lt;li>&lt;strong>Архитектура&lt;/strong>: amd64 или arm64&lt;/li>
&lt;li>&lt;strong>SSH-доступ&lt;/strong> с passwordless sudo&lt;/li>
&lt;li>Требования к CPU, RAM и дискам см. в
&lt;a href="https://cozystack.ru/docs/v1.5/install/hardware-requirements/" target="_blank">требованиях к оборудованию&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="установка">Установка&lt;/h2>
&lt;h3 id="1-установка-ansible-collection">1. Установка Ansible collection&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>ansible-galaxy collection install git+https://github.com/cozystack/ansible-cozystack.git
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Установите необходимые dependency collections. Файл &lt;code>requirements.yml&lt;/code> не включен в packaged collection, поэтому скачайте его из репозитория:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>curl --silent --location --output /tmp/requirements.yml &lt;span style="color:#4070a0;font-weight:bold">\
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4070a0;font-weight:bold">&lt;/span> https://raw.githubusercontent.com/cozystack/ansible-cozystack/main/requirements.yml
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ansible-galaxy collection install --requirements-file /tmp/requirements.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Это установит следующие зависимости:&lt;/p>
&lt;ul>
&lt;li>&lt;code>ansible.posix&lt;/code>, &lt;code>community.general&lt;/code>, &lt;code>kubernetes.core&lt;/code> — из Ansible Galaxy&lt;/li>
&lt;li>
&lt;a href="https://github.com/k3s-io/k3s-ansible" target="_blank">k3s.orchestration&lt;/a> — collection для развертывания k3s, устанавливается из Git&lt;/li>
&lt;/ul>
&lt;h3 id="2-создание-inventory">2. Создание inventory&lt;/h3>
&lt;p>Создайте файл &lt;code>inventory.yml&lt;/code>. Внутренний (private) IP каждого узла должен использоваться как host key, потому что KubeOVN проверяет IP хостов через &lt;code>NODE_IPS&lt;/code>. Public IP, если он отличается, указывается в &lt;code>ansible_host&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#062873;font-weight:bold">cluster&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">children&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">server&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">hosts&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">10.0.0.10&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible_host&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#40a070">203.0.113.10&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">agent&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">hosts&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">10.0.0.11&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible_host&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#40a070">203.0.113.11&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">10.0.0.12&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible_host&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#40a070">203.0.113.12&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">vars&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible_port&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#40a070">22&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible_user&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>ubuntu&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#60a0b0;font-style:italic"># настройки k3s — доступные версии см. на https://github.com/k3s-io/k3s/releases&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">k3s_version&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>v1.35.0+k3s3&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">token&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#60a0b0;font-style:italic"># ЗАМЕНИТЕ на надежный случайный secret&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">api_endpoint&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">cluster_context&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>my-cluster&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#60a0b0;font-style:italic"># настройки Cozystack&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">cozystack_api_server_host&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">cozystack_root_host&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">cozystack_platform_variant&lt;/span>:&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#60a0b0;font-style:italic"># cozystack_k3s_extra_args:&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Замените &lt;code>token&lt;/code> на надежный случайный secret. Этот token используется для подключения узлов k3s и дает полный доступ к кластеру. Сгенерируйте его командой &lt;code>openssl rand -hex 32&lt;/code>.&lt;/p>
&lt;p>Всегда явно закрепляйте &lt;code>cozystack_chart_version&lt;/code>. Collection поставляется с версией по умолчанию, которая может не совпадать с релизом, который вы хотите развернуть. Укажите ее в inventory, чтобы избежать неожиданных обновлений:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#062873;font-weight:bold">cozystack_chart_version&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#4070a0">&amp;#34;1.5.0&amp;#34;&lt;/span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Доступные версии см. в
&lt;a href="https://github.com/cozystack/cozystack/releases" target="_blank">релизах Cozystack&lt;/a>.&lt;/p>
&lt;h3 id="3-создание-playbook">3. Создание playbook&lt;/h3>
&lt;p>Создайте файл &lt;code>site.yml&lt;/code>, который последовательно запускает подготовку ОС, развертывание k3s и установку Cozystack.&lt;/p>
&lt;p>Репозиторий collection содержит примеры prepare playbooks для каждого поддерживаемого семейства ОС в каталоге
&lt;a href="https://github.com/cozystack/ansible-cozystack/tree/main/examples" target="_blank">examples/&lt;/a>. Скопируйте подходящий для вашей целевой ОС файл в каталог проекта, затем подключите его как локальный playbook.&lt;/p>
&lt;p>Скопируйте &lt;code>prepare-ubuntu.yml&lt;/code> из
&lt;a href="https://github.com/cozystack/ansible-cozystack/tree/main/examples/ubuntu" target="_blank">examples/ubuntu/&lt;/a>, затем создайте &lt;code>site.yml&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>- &lt;span style="color:#062873;font-weight:bold">name&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>Prepare nodes&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible.builtin.import_playbook&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>prepare-ubuntu.yml&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">&lt;/span>- &lt;span style="color:#062873;font-weight:bold">name&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>Deploy k3s cluster&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible.builtin.import_playbook&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>k3s.orchestration.site&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb">&lt;/span>- &lt;span style="color:#062873;font-weight:bold">name&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>Install Cozystack&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#bbb"> &lt;/span>&lt;span style="color:#062873;font-weight:bold">ansible.builtin.import_playbook&lt;/span>:&lt;span style="color:#bbb"> &lt;/span>cozystack.installer.site&lt;span style="color:#bbb">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="4-запуск-playbook">4. Запуск playbook&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>ansible-playbook --inventory inventory.yml site.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Playbook автоматически выполняет следующие шаги:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Prepare nodes&lt;/strong> — устанавливает необходимые пакеты (&lt;code>nfs-common&lt;/code>, &lt;code>open-iscsi&lt;/code>, &lt;code>multipath-tools&lt;/code>), настраивает sysctl, включает storage services&lt;/li>
&lt;li>&lt;strong>Deploy k3s&lt;/strong> — выполняет bootstrap кластера k3s с настройками, совместимыми с Cozystack (отключает встроенные Traefik, ServiceLB, kube-proxy, Flannel; задает &lt;code>cluster-domain=cozy.local&lt;/code>)&lt;/li>
&lt;li>&lt;strong>Install Cozystack&lt;/strong> — устанавливает Helm и plugin helm-diff (используется для идемпотентных обновлений), развертывает chart &lt;code>cozy-installer&lt;/code>, ожидает operator и CRD, затем создает Platform Package&lt;/li>
&lt;/ol>
&lt;h2 id="справочник-конфигурации">Справочник конфигурации&lt;/h2>
&lt;h3 id="основные-переменные">Основные переменные&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Переменная&lt;/th>
&lt;th>По умолчанию&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>cozystack_api_server_host&lt;/td>
&lt;td>(обязательно)&lt;/td>
&lt;td>Внутренний IP узла control plane.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_chart_version&lt;/td>
&lt;td>1.5.0&lt;/td>
&lt;td>Версия Helm chart Cozystack. &lt;strong>Закрепляйте явно.&lt;/strong>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_platform_variant&lt;/td>
&lt;td>isp-full-generic&lt;/td>
&lt;td>Platform variant: &lt;code>default&lt;/code>, &lt;code>isp-full&lt;/code>, &lt;code>isp-hosted&lt;/code>, &lt;code>isp-full-generic&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_root_host&lt;/td>
&lt;td>&amp;quot;&amp;quot;&lt;/td>
&lt;td>Домен для сервисов Cozystack. Оставьте пустым, чтобы пропустить publishing configuration.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="сеть">Сеть&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Переменная&lt;/th>
&lt;th>По умолчанию&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>cozystack_pod_cidr&lt;/td>
&lt;td>10.42.0.0/16&lt;/td>
&lt;td>Диапазон Pod CIDR.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_pod_gateway&lt;/td>
&lt;td>10.42.0.1&lt;/td>
&lt;td>Gateway pod-сети.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_svc_cidr&lt;/td>
&lt;td>10.43.0.0/16&lt;/td>
&lt;td>Диапазон Service CIDR.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_join_cidr&lt;/td>
&lt;td>100.64.0.0/16&lt;/td>
&lt;td>Join CIDR для межузлового взаимодействия.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_api_server_port&lt;/td>
&lt;td>6443&lt;/td>
&lt;td>Порт Kubernetes API server.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="расширенные-настройки">Расширенные настройки&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Переменная&lt;/th>
&lt;th>По умолчанию&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>cozystack_chart_ref&lt;/td>
&lt;td>oci://ghcr.io/cozystack/cozystack/cozy-installer&lt;/td>
&lt;td>OCI reference для Helm chart.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_operator_variant&lt;/td>
&lt;td>generic&lt;/td>
&lt;td>Operator variant: &lt;code>generic&lt;/code>, &lt;code>talos&lt;/code>, &lt;code>hosted&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_namespace&lt;/td>
&lt;td>cozy-system&lt;/td>
&lt;td>Namespace для Cozystack&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_release_name&lt;/td>
&lt;td>cozy-installer&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_release_namespace&lt;/td>
&lt;td>kube-system&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_kubeconfig&lt;/td>
&lt;td>/etc/rancher/k3s/k3s.yaml&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_create_platform_package&lt;/td>
&lt;td>true&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_helm_version&lt;/td>
&lt;td>3.17.3&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_helm_binary&lt;/td>
&lt;td>/usr/local/bin/helm&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_helm_diff_version&lt;/td>
&lt;td>3.12.5&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_operator_wait_timeout&lt;/td>
&lt;td>300&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="переменные-prepare-playbook">Переменные prepare playbook&lt;/h3>
&lt;p>Примерные prepare playbooks (скопированные из каталога &lt;code>examples/&lt;/code>) поддерживают дополнительные переменные:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Переменная&lt;/th>
&lt;th>По умолчанию&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>cozystack_flush_iptables&lt;/td>
&lt;td>false&lt;/td>
&lt;td>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>cozystack_k3s_extra_args&lt;/td>
&lt;td>&lt;/td>
&lt;td>Дополнительные аргументы для k3s server (например, &lt;code>--tls-san=&amp;lt;PUBLIC_IP&amp;gt;&lt;/code> для узлов за NAT).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="проверка">Проверка&lt;/h2>
&lt;p>После завершения playbook проверьте развертывание с первого server-узла:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f0f0f0;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#60a0b0;font-style:italic"># Проверить operator&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl get deployment cozystack-operator --namespace cozy-system
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#60a0b0;font-style:italic"># Проверить Platform Package&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl get packages.cozystack.io cozystack.cozystack-platform
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#60a0b0;font-style:italic"># Проверить все pods&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>kubectl get pods --all-namespaces
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="идемпотентность">Идемпотентность&lt;/h2>
&lt;p>Playbook идемпотентен: повторный запуск не будет повторно применять ресурсы, которые не изменились. Cozystack operator использует Helm для управления ресурсами, и Ansible collection использует &lt;code>helm-diff&lt;/code>, чтобы видеть изменения перед их применением, аналогично &lt;code>kubectl diff&lt;/code>.&lt;/p></description></item><item><title>Docs: Рекомендации по планированию системных ресурсов</title><link>https://katamarina.ru/docs/cozystack/online_v_1_5/install/resource-planning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://katamarina.ru/docs/cozystack/online_v_1_5/install/resource-planning/</guid><description>
&lt;h1 id="рекомендации-по-планированию-системных-ресурсов">Рекомендации по планированию системных ресурсов&lt;/h1>
&lt;p>Это руководство помогает спланировать выделение системных ресурсов на узел с учетом размера кластера и количества tenants. Рекомендации основаны на production-развертываниях и дают достаточно точные оценки для планирования.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Важно:&lt;/strong> указанные значения относятся только к системным компонентам. К ним нужно добавить требования tenant workload’ов (приложений, баз данных, кластеров Kubernetes, виртуальных машин и т. д.).&lt;/p>
&lt;/blockquote>
&lt;p>&lt;strong>Быстрый старт&lt;/strong>: выделите как минимум &lt;strong>2 ядра CPU&lt;/strong> и &lt;strong>6 ГБ RAM&lt;/strong> на узел для системных компонентов. Для точного расчета требований с учетом размера кластера и количества tenants используйте таблицу или калькулятор ниже.&lt;/p>
&lt;p>&lt;strong>Примечание о выделении ресурсов&lt;/strong>: эти значения отражают ожидаемое потребление при нормальной работе, а не жесткое резервирование ресурсов. Kubernetes динамически планирует workload’ы, а системные компоненты будут потреблять примерно эти объемы, при этом оставшаяся емкость останется доступной для tenant workload’ов.&lt;/p>
&lt;h2 id="требования-к-ресурсам">Требования к ресурсам&lt;/h2>
&lt;p>Требования зависят как от размера кластера (количества узлов), так и от количества tenants. Если у каждого tenant много активных сервисов (5+), ориентируйтесь на значения из следующей категории tenants.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Размер кластера&lt;/th>
&lt;th style="text-align:left">Узлы&lt;/th>
&lt;th style="text-align:left">До 5 tenants&lt;/th>
&lt;th style="text-align:left">6-14 tenants&lt;/th>
&lt;th style="text-align:left">15-30 tenants&lt;/th>
&lt;th style="text-align:left">31+ tenants&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Малый&lt;/strong>&lt;/td>
&lt;td style="text-align:left">3-5&lt;/td>
&lt;td style="text-align:left">CPU: 2 ядра&lt;br>RAM: 6 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 2 ядра&lt;br>RAM: 6 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 10 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 15 ГБ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Средний&lt;/strong>&lt;/td>
&lt;td style="text-align:left">6-10&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 7 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 7 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 12 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 4 ядра&lt;br>RAM: 18 ГБ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Крупный&lt;/strong>&lt;/td>
&lt;td style="text-align:left">11+&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 9 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 3 ядра&lt;br>RAM: 10 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 4 ядра&lt;br>RAM: 15 ГБ&lt;/td>
&lt;td style="text-align:left">CPU: 4 ядра&lt;br>RAM: 22 ГБ&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Советы по планированию:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Отслеживайте фактическое потребление ресурсов и корректируйте значения при необходимости&lt;/li>
&lt;li>Закладывайте запас на рост 20-30%&lt;/li>
&lt;li>При высокой активности tenants рассмотрите увеличение CPU на 50-100%, а памяти — на 100-300%&lt;/li>
&lt;/ul>
&lt;h2 id="рассчитайте-свои-требования">Рассчитайте свои требования&lt;/h2>
&lt;p>Используйте калькулятор ниже, чтобы определить требования для вашей конкретной конфигурации:&lt;/p>
&lt;h2 id="почему-требования-к-ресурсам-масштабируются">Почему требования к ресурсам масштабируются&lt;/h2>
&lt;p>Потребление системных ресурсов растет вместе с размером кластера и количеством tenants, потому что системным компонентам нужно обрабатывать больше объектов Kubernetes для мониторинга, применять больше сетевых политик и собирать и обрабатывать больше логов.&lt;/p></description></item><item><title>Docs: Требования к оборудованию</title><link>https://katamarina.ru/docs/cozystack/online_v_1_5/install/hardware-requirements/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://katamarina.ru/docs/cozystack/online_v_1_5/install/hardware-requirements/</guid><description>
&lt;h1 id="требования-к-оборудованию">Требования к оборудованию&lt;/h1>
&lt;p>
&lt;a href="https://cozystack.ru/docs/v1.5/install/hardware-requirements/" target="_blank">Cozystack&lt;/a> использует
&lt;a href="https://cozystack.ru/docs/v1.5/guides/talos/" target="_blank">Talos Linux&lt;/a> — минималистичный дистрибутив Linux, предназначенный исключительно для запуска Kubernetes. Обычно это означает, что сервер нельзя совместно использовать с сервисами, которые не запущены Cozystack. Хорошая новость в том, что какой бы сервис вам ни понадобился, Cozystack сможет запустить его корректно: безопасно, эффективно и в полностью контейнеризованной или виртуализованной среде.&lt;/p>
&lt;p>Требования к оборудованию зависят от вашего сценария использования. Ниже приведены несколько распространенных вариантов развертывания; изучите их, чтобы определить, какая конфигурация лучше всего подходит под ваши задачи.&lt;/p>
&lt;h2 id="варианты-развертывания">Варианты развертывания&lt;/h2>
&lt;h3 id="минимальная-конфигурация">Минимальная конфигурация&lt;/h3>
&lt;p>Ниже приведены базовые требования для запуска небольшой инсталляции. Минимальная рекомендуемая конфигурация для каждого узла:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Компонент&lt;/th>
&lt;th style="text-align:left">Требование&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Хосты&lt;/td>
&lt;td style="text-align:left">3x физических хоста (или ВМ с host CPU passthrough)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Architecture&lt;/td>
&lt;td style="text-align:left">x86_64&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">CPU&lt;/td>
&lt;td style="text-align:left">8 ядер&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">RAM&lt;/td>
&lt;td style="text-align:left">24 ГБ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Основной диск&lt;/td>
&lt;td style="text-align:left">50 ГБ SSD (или RAW для ВМ)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Дополнительный диск&lt;/td>
&lt;td style="text-align:left">256 ГБ SSD (raw)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Подходит для:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Dev/Test-сред&lt;/li>
&lt;li>Небольших демонстрационных конфигураций&lt;/li>
&lt;li>1-2 tenants&lt;/li>
&lt;li>До 3 кластеров Kubernetes&lt;/li>
&lt;li>Небольшого числа ВМ или баз данных&lt;/li>
&lt;/ul>
&lt;h3 id="рекомендуемая-конфигурация">Рекомендуемая конфигурация&lt;/h3>
&lt;p>Для небольших production-сред рекомендуемая конфигурация каждого узла выглядит так:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Компонент&lt;/th>
&lt;th style="text-align:left">Требование&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Хосты&lt;/td>
&lt;td style="text-align:left">3x физических хоста&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Architecture&lt;/td>
&lt;td style="text-align:left">x86_64&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">CPU&lt;/td>
&lt;td style="text-align:left">16-32 ядра&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">RAM&lt;/td>
&lt;td style="text-align:left">64 ГБ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Основной диск&lt;/td>
&lt;td style="text-align:left">100 ГБ SSD или NVMe&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Дополнительный диск&lt;/td>
&lt;td style="text-align:left">1-2 ТБ SSD или NVMe&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Подходит для:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Небольших и средних production-сред&lt;/li>
&lt;li>5-10 tenants&lt;/li>
&lt;li>5+ кластеров Kubernetes&lt;/li>
&lt;li>Десятков виртуальных машин или баз данных&lt;/li>
&lt;li>S3-совместимого хранилища&lt;/li>
&lt;/ul>
&lt;h3 id="оптимальная-конфигурация">Оптимальная конфигурация&lt;/h3>
&lt;p>Для средних и крупных production-сред оптимальная конфигурация каждого узла выглядит так:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Компонент&lt;/th>
&lt;th style="text-align:left">Требование&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Хосты&lt;/td>
&lt;td style="text-align:left">6x+ физических хостов&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Architecture&lt;/td>
&lt;td style="text-align:left">x86_64&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">CPU&lt;/td>
&lt;td style="text-align:left">32-64 ядра&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">RAM&lt;/td>
&lt;td style="text-align:left">128-256 ГБ&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Основной диск&lt;/td>
&lt;td style="text-align:left">200 ГБ SSD или NVMe&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Дополнительный диск&lt;/td>
&lt;td style="text-align:left">4-10 ТБ NVMe&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>&lt;strong>Подходит для:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Крупных production-сред&lt;/li>
&lt;li>20+ tenants&lt;/li>
&lt;li>Десятков кластеров Kubernetes&lt;/li>
&lt;li>Сотен виртуальных машин и баз данных&lt;/li>
&lt;li>S3-совместимого хранилища&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="вычислительные-ресурсы">Вычислительные ресурсы:&lt;/h2>
&lt;ul>
&lt;li>Три или более физических либо виртуальных сервера с архитектурой amd64/x86_64 и характеристиками, указанными в таблице выше.&lt;/li>
&lt;li>Для виртуализированных серверов должна быть включена вложенная виртуализация, а модель CPU должна быть установлена в &lt;code>host&lt;/code> (без эмуляции).&lt;/li>
&lt;li>Для установки через PXE требуется дополнительный управляющий инстанс, подключенный к той же сети, с любой Linux-системой, способной запускать Docker-контейнер. Он также должен иметь архитектуру &lt;code>x86-64-v2&lt;/code>; в случае виртуальной машины этого, скорее всего, можно добиться, установив модель CPU в &lt;code>host&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="хранилище">Хранилище:&lt;/h2>
&lt;p>Хранилище в кластере Cozystack используется как системой, так и пользовательскими workload’ами. Есть два варианта: выделить отдельный диск для каждой роли или выделить место под пользовательское хранилище на системном диске. Для хранилища узлов control plane критически важна низкая задержка, поэтому рекомендуются локальные SSD.&lt;/p>
&lt;h3 id="использование-двух-дисков">Использование двух дисков&lt;/h3>
&lt;p>Разделение дисков по ролям — основной и более надежный вариант.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Основной диск&lt;/strong>: на этом диске находятся операционная система Talos Linux, необходимые системные модули ядра, базовые системные поды Cozystack, логи и базовые контейнерные образы. Также поверх него будет работать кластер etcd, поэтому следует использовать том с низкой задержкой, предпочтительно локальный SSD.
Минимальные размеры зависят от конфигурации (см. таблицу выше). Установка Talos ожидает &lt;code>/dev/sda&lt;/code> в качестве системного диска (диски virtio обычно отображаются как &lt;code>/dev/vda&lt;/code>).&lt;/li>
&lt;li>&lt;strong>Дополнительный диск&lt;/strong>: предназначен для данных workload’ов, его размер можно увеличивать в зависимости от требований workload’ов. Используется для выделения томов через PersistentVolumeClaims (PVC).
Минимальные размеры зависят от конфигурации (см. таблицу выше). Путь к диску (обычно &lt;code>/dev/sdb&lt;/code>) будет указан в конфигурации хранилища. Он не влияет на установку Talos.&lt;/li>
&lt;/ul>
&lt;p>Подробнее о настройке Linstor StorageClass см. в
&lt;a href="https://cozystack.ru/docs/v1.5/getting-started/install-cozystack/#3-configure-storage" target="_blank">руководстве по развертыванию Cozystack&lt;/a>.&lt;/p>
&lt;h3 id="использование-одного-диска">Использование одного диска&lt;/h3>
&lt;p>Можно использовать один диск с выделенным пространством для пользовательского хранилища. См.
&lt;a href="https://cozystack.ru/docs/v1.5/install/how-to/single-disk/" target="_blank">Как установить Talos на машину с одним диском&lt;/a>. Рекомендуется использовать локальный SSD-диск.&lt;/p>
&lt;h2 id="сеть">Сеть:&lt;/h2>
&lt;ul>
&lt;li>Машинам должно быть разрешено использовать дополнительные IP-адреса, либо должен быть доступен внешний балансировщик нагрузки. Использование дополнительных IP-адресов по умолчанию отключено и в большинстве публичных облаков должно включаться явно.&lt;/li>
&lt;li>Могут потребоваться дополнительные публичные IP-адреса для ingress и виртуальных машин. Проверьте, поддерживает ли ваш облачный провайдер floating IP.&lt;/li>
&lt;li>Маршрутизируемый FQDN-домен (или используйте
&lt;a href="https://nip.io/" target="_blank">nip.io&lt;/a> с записью через дефис)&lt;/li>
&lt;li>Размещение в одном L2-сегменте сети&lt;/li>
&lt;li>Отключенный anti-spoofing (требуется для MetalLB)&lt;/li>
&lt;li>Минимум 1 Гбит/с (для production рекомендуется 10 Гбит/с)&lt;/li>
&lt;li>Низкая задержка между узлами кластера&lt;/li>
&lt;/ul>
&lt;h2 id="production-кластер">Production-кластер&lt;/h2>
&lt;p>Для production-среды учитывайте следующее:&lt;/p>
&lt;p>&lt;strong>Вычислительные ресурсы:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Для запуска высокодоступных приложений обязательно иметь как минимум &lt;strong>три worker-узла&lt;/strong>. Если один из трех узлов станет недоступен из-за аппаратного сбоя или обслуживания, кластер будет работать в деградированном состоянии. Кластеры баз данных и реплицированное хранилище продолжадут работать, но запуск новых экземпляров баз данных или создание реплицированных томов будет невозможным.&lt;/li>
&lt;li>Настоятельно рекомендуется, хотя и не обязательно, использовать отдельные серверы для master-узлов Kubernetes. Чистый worker-узел гораздо проще выводить из эксплуатации для обслуживания или обновления, чем узел, который одновременно является управляющим.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Сеть:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>В конфигурации с несколькими дата-центрами оптимально иметь прямые выделенные оптические каналы между ними.&lt;/li>
&lt;li>Серверы должны поддерживать out-of-band management (IPMI, iLO, iDRAC и т. д.) для удаленного мониторинга, восстановления и управления.&lt;/li>
&lt;/ul>
&lt;h2 id="распределенный-кластер">Распределенный кластер&lt;/h2>
&lt;p>С помощью Cozystack можно построить
&lt;a href="https://cozystack.ru/docs/v1.5/operations/stretched/" target="_blank">распределенный кластер&lt;/a>.&lt;/p>
&lt;p>&lt;strong>Сеть:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Для распределенного кластера требуется быстрая и надежная сеть, и у нее &lt;strong>обязательно&lt;/strong> должен быть низкий RTT (Round Trip Time), так как Kubernetes не рассчитан на эффективную работу в сетях с высокой задержкой.&lt;/li>
&lt;li>Дата-центры в пределах одного города обычно имеют задержку менее 1 мс, что является идеальным вариантом. &lt;em>Максимально допустимый&lt;/em> RTT — 10 мс. Запуск Kubernetes или реплицированного хранилища в сети с RTT выше 20 мс настоятельно не рекомендуется. Для измерения фактического RTT можно использовать команду &lt;code>ping&lt;/code>.&lt;/li>
&lt;li>Также рекомендуется иметь как минимум 2–3 узла на дата-центр в распределенном кластере. Это гарантирует, что кластер сможет пережить потерю одного дата-центра без серьезных нарушений работы.&lt;/li>
&lt;li>Если сложно поддерживать единое адресное пространство между дата-центрами, вместо внешнего VPN можно включить &lt;strong>KubeSpan&lt;/strong> — функцию Talos Linux, которая создает full-mesh VPN между узлами на базе WireGuard.&lt;/li>
&lt;/ul>
&lt;h2 id="высокодоступные-приложения">Высокодоступные приложения&lt;/h2>
&lt;p>Обеспечение высокой доступности добавляет требования к базовой production-среде.&lt;/p>
&lt;p>&lt;strong>Сеть:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Рекомендуется иметь несколько сетевых карт 10 Гбит/с или быстрее. Трафик хранилища и приложений можно разделить, назначив их разным сетевым интерфейсам.&lt;/li>
&lt;li>Ожидайте значительный объем горизонтального межузлового трафика внутри кластеров. Обычно он возникает из-за обмена данными между несколькими репликами сервисов и баз данных, развернутыми на разных узлах. Кроме того, виртуальные машины с live migration требуют реплицированных томов, что дополнительно увеличивает объем трафика.&lt;/li>
&lt;/ul>
&lt;h2 id="планирование-системных-ресурсов">Планирование системных ресурсов&lt;/h2>
&lt;p>Подробные рекомендации по выделению системных ресурсов (CPU и памяти) на узел с учетом масштаба кластера и количества tenants см. в разделе
&lt;a href="https://cozystack.ru/docs/v1.5/install/resource-planning/" target="_blank">Рекомендации по планированию системных ресурсов&lt;/a>.&lt;/p></description></item><item><title>Docs: Установка и настройка Cozystack</title><link>https://katamarina.ru/docs/cozystack/online_v_1_5/install/cozystack/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://katamarina.ru/docs/cozystack/online_v_1_5/install/cozystack/</guid><description>
&lt;h1 id="установка-и-настройка-cozystack">Установка и настройка Cozystack&lt;/h1>
&lt;p>&lt;strong>Третий шаг&lt;/strong> развертывания кластера Cozystack — установка Cozystack в ранее
&lt;a href="https://cozystack.ru/docs/v1.5/install/kubernetes/" target="_blank">установленный и настроенный кластер Kubernetes&lt;/a>. Предварительное условие для этого шага — установленный кластер Kubernetes.&lt;/p>
&lt;p>Cozystack можно установить в двух режимах, в зависимости от того, насколько детально вы хотите управлять устанавливаемыми компонентами:&lt;/p>
&lt;h2 id="как-платформа">Как платформа&lt;/h2>
&lt;p>Установите Cozystack как готовую к использованию платформу, где все компоненты управляются автоматически. Вы выбираете
&lt;a href="https://cozystack.ru/docs/v1.5/operations/configuration/variants/" target="_blank">variant&lt;/a> (например, &lt;code>isp-full&lt;/code>), а Cozystack устанавливает и настраивает все необходимые компоненты — сеть, хранилище, мониторинг, dashboard, operators и managed applications.&lt;/p>
&lt;p>Это рекомендуемый подход для большинства пользователей, которым нужна полностью функциональная платформа из коробки.&lt;/p>
&lt;p>&lt;strong>
&lt;a href="https://cozystack.ru/docs/v1.5/install/cozystack/platform/" target="_blank">Установить Cozystack как платформу&lt;/a>&lt;/strong>&lt;/p>
&lt;h2 id="build-your-own-platform-byop">Build Your Own Platform (BYOP)&lt;/h2>
&lt;p>Используйте Cozystack, чтобы собрать собственную платформу, устанавливая только нужные компоненты. Вы устанавливаете operator с variant &lt;code>default&lt;/code>, который предоставляет только package registry (PackageSources). Затем с помощью CLI-инструмента &lt;code>cozypkg&lt;/code> выборочно устанавливаете отдельные packages — networking, storage, ingress, operators и любые другие компоненты, доступные в репозитории Cozystack.&lt;/p>
&lt;p>Этот подход подходит, если у вас уже есть существующий кластер Kubernetes с частью инфраструктуры или если вам нужны только отдельные компоненты из экосистемы Cozystack.&lt;/p>
&lt;p>&lt;strong>
&lt;a href="https://cozystack.ru/docs/v1.5/install/cozystack/kubernetes-distribution/" target="_blank">Собрать собственную платформу с Cozystack&lt;/a>&lt;/strong>&lt;/p>
&lt;hr>
&lt;h2 id="установка-cozystack-как-платформы">Установка Cozystack как платформы&lt;/h2>
&lt;p>Установите Cozystack как готовую к использованию платформу, где все компоненты управляются автоматически.&lt;/p>
&lt;h2 id="собственная-платформа-byop">Собственная платформа (BYOP)&lt;/h2>
&lt;p>Соберите собственную платформу с Cozystack, устанавливая только нужные компоненты с помощью CLI-инструмента &lt;code>cozypkg&lt;/code>.&lt;/p></description></item></channel></rss>