<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Частые вопросы и практические руководства on Cozystack</title><link>https://cozystack.ru/docs/v1.5/operations/faq/</link><description>Recent content in Частые вопросы и практические руководства on Cozystack</description><generator>Hugo</generator><language>en</language><atom:link href="https://cozystack.ru/docs/v1.5/operations/faq/index.xml" rel="self" type="application/rss+xml"/><item><title>Токены ServiceAccount для доступа к API</title><link>https://cozystack.ru/docs/v1.5/operations/faq/serviceaccount-api-access/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cozystack.ru/docs/v1.5/operations/faq/serviceaccount-api-access/</guid><description>&lt;h2 id="предварительные-требования"&gt;Предварительные требования&lt;/h2&gt;
&lt;p&gt;Перед началом убедитесь, что:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tenant уже существует в Cozystack.
Если он еще не создан, см. 
&lt;a href="https://cozystack.ru/docs/v1.5/getting-started/create-tenant/" target="_blank"&gt;Создание пользовательского tenant&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;У вас есть доступ к namespace tenant - через OIDC-учетные данные или административный kubeconfig.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubectl&lt;/code&gt; установлен и настроен.&lt;/li&gt;
&lt;li&gt;(Опционально) установлен &lt;code&gt;jq&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="получение-токена-serviceaccount"&gt;Получение токена ServiceAccount&lt;/h2&gt;
&lt;p&gt;У каждого tenant в Cozystack есть Secret с токеном ServiceAccount.
Secret имеет то же имя, что и tenant, и находится в namespace этого tenant.&lt;/p&gt;
&lt;ul class="nav nav-tabs" id="get_token" role="tablist"&gt;&lt;li class="nav-item"&gt;&lt;a data-bs-toggle="tab" class="nav-link active" href="#get_token-0" role="tab" aria-controls="get_token-0" aria-selected="true"&gt;Dashboard&lt;/a&gt;&lt;/li&gt;
	 
		&lt;li class="nav-item"&gt;&lt;a data-bs-toggle="tab" class="nav-link" href="#get_token-1" role="tab" aria-controls="get_token-1"&gt;kubectl&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;div class="tab-content" id="get_token"&gt;&lt;div id="get_token-0" class="tab-pane show active" role="tabpanel" aria-labelledby="get_token-0"&gt;

&lt;p&gt;&lt;ol&gt;
&lt;li&gt;Войдите в Dashboard пользователем, у которого есть доступ к tenant.&lt;/li&gt;
&lt;li&gt;При необходимости переключите контекст на нужный tenant.&lt;/li&gt;
&lt;li&gt;В левой боковой панели перейдите на страницу &lt;strong&gt;Administration&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Info&lt;/strong&gt; и откройте вкладку &lt;strong&gt;Secrets&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Найдите secret с именем &lt;code&gt;tenant-&amp;lt;name&amp;gt;&lt;/code&gt; (например, &lt;code&gt;tenant-team1&lt;/code&gt;), где &lt;strong&gt;Key&lt;/strong&gt; равен &lt;strong&gt;token&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Нажмите значок глаза, чтобы показать поле &lt;strong&gt;Value&lt;/strong&gt;, затем нажмите на показанные данные. Текст будет автоматически скопирован в буфер обмена.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
 &lt;div id="get_token-1" class="tab-pane" role="tabpanel" aria-labelledby="get_token-1"&gt;

&lt;p&gt;&lt;p&gt;Получите токен для tenant с именем &lt;code&gt;&amp;lt;name&amp;gt;&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Как сгенерировать kubeconfig для пользователей tenant</title><link>https://cozystack.ru/docs/v1.5/operations/faq/generate-kubeconfig/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cozystack.ru/docs/v1.5/operations/faq/generate-kubeconfig/</guid><description>&lt;p&gt;Чтобы сгенерировать &lt;code&gt;kubeconfig&lt;/code&gt; для пользователей tenant, используйте следующий скрипт.
В результате вы получите файл tenant-kubeconfig, который можно передать пользователю.&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;&lt;span style="color:#bb60d5"&gt;SERVER&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;$(&lt;/span&gt;kubectl config view --minify -o &lt;span style="color:#bb60d5"&gt;jsonpath&lt;/span&gt;&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#39;{.clusters[0].cluster.server}&amp;#39;&lt;/span&gt;&lt;span style="color:#007020;font-weight:bold"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl get secret tenant-root -n tenant-root -o go-template&lt;span style="color:#666"&gt;=&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;apiVersion: v1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;kind: Config
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;clusters:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;- name: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; cluster:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; server: &amp;#39;&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#bb60d5"&gt;$SERVER&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#4070a0"&gt;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; certificate-authority-data: {{ index .data &amp;#34;ca.crt&amp;#34; }}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;contexts:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;- name: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; context:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; cluster: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; namespace: {{ index .data &amp;#34;namespace&amp;#34; | base64decode }}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; user: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;current-context: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;users:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;- name: tenant-root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; user:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt; token: {{ index .data &amp;#34;token&amp;#34; | base64decode }}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#4070a0"&gt;&amp;#39;&lt;/span&gt; &lt;span style="color:#4070a0;font-weight:bold"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;gt; tenant-root.kubeconfig
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>