<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Управляемый (tenant) Kubernetes on Cozystack</title><link>https://cozystack.ru/docs/v1.6/kubernetes/</link><description>Recent content in Управляемый (tenant) Kubernetes on Cozystack</description><generator>Hugo</generator><language>en</language><atom:link href="https://cozystack.ru/docs/v1.6/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>GPU Sharing с HAMi</title><link>https://cozystack.ru/docs/v1.6/kubernetes/gpu-sharing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cozystack.ru/docs/v1.6/kubernetes/gpu-sharing/</guid><description>&lt;p&gt;
&lt;a href="https://github.com/Project-HAMi/HAMi" target="_blank"&gt;HAMi&lt;/a&gt; (Heterogeneous AI Computing Virtualization Middleware) — проект CNCF Sandbox, который включает дробное разделение GPU в Kubernetes. Вместо выделения целого GPU под одну рабочую нагрузку HAMi позволяет контейнерам запрашивать конкретный объем GPU-памяти и вычислительных ядер.&lt;/p&gt;


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


 Это руководство описывает GPU шаринг для &lt;strong&gt;контейнеров в tenant-кластерах Kubernetes&lt;/strong&gt;. О пробросе GPU в виртуальные машины на управляемом кластере см. 
&lt;a href="https://cozystack.ru/docs/v1.6/virtualization/gpu/"&gt;GPU Passthrough&lt;/a&gt;.

&lt;/div&gt;

&lt;h2 id="как-это-работает"&gt;Как это работает&lt;/h2&gt;
&lt;p&gt;HAMi работает между планировщиком Kubernetes и драйвером NVIDIA GPU:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scheduler Extender&lt;/strong&gt; добавляет GPU-aware решения при планировании (filtering и binding), чтобы pod попадали на ноды с достаточной GPU-емкостью.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Device Plugin&lt;/strong&gt; регистрирует виртуальные GPU-ресурсы (&lt;code&gt;nvidia.com/gpu&lt;/code&gt;, &lt;code&gt;nvidia.com/gpumem&lt;/code&gt;, &lt;code&gt;nvidia.com/gpucores&lt;/code&gt;) в kubelet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MutatingWebhook&lt;/strong&gt; автоматически направляет GPU pod в планировщик HAMi.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HAMi-core&lt;/strong&gt; (&lt;code&gt;libvgpu.so&lt;/code&gt;) внедряется в контейнеры рабочей нагрузки через &lt;code&gt;LD_PRELOAD&lt;/code&gt;, чтобы обеспечить изоляцию памяти и вычислений на уровне CUDA API.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Когда HAMi включен, встроенный плагин устройств GPU Operator автоматически отключается, чтобы избежать конфликтов при регистрации ресурсов.&lt;/p&gt;</description></item><item><title>Как перенести реплики etcd в tenant-кластерах</title><link>https://cozystack.ru/docs/v1.6/kubernetes/relocate-etcd/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cozystack.ru/docs/v1.6/kubernetes/relocate-etcd/</guid><description>&lt;p&gt;Tenant-кластеры Kubernetes используют собственные кластеры etcd, а не etcd management-кластера.
Такие кластеры etcd разворачиваются внутри tenant и доступны управляемым Kubernetes-кластерам, развернутым в этом tenant и его sub-tenant.&lt;/p&gt;
&lt;p&gt;Реплики tenant-кластера etcd можно переносить между нодами, например для обслуживания.
Сейчас операции управления tenant-кластерами etcd не автоматизированы,
но такую задачу можно выполнить вручную.&lt;/p&gt;
&lt;p&gt;Сначала установите плагин &lt;code&gt;kubectl-etcd&lt;/code&gt; для &lt;code&gt;kubectl&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;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;go install github.com/aenix-io/etcd-operator/cmd/kubectl-etcd@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Теперь можно управлять репликами etcd.
Скрипт ниже удаляет реплику &lt;code&gt;etcd-2&lt;/code&gt; из кластера etcd, а затем добавляет ее обратно.&lt;/p&gt;</description></item></channel></rss>