HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: kubernetes, k8s, web-ui, dashboard</p>
1 <p>Теги: kubernetes, k8s, web-ui, dashboard</p>
2 <p>В стандартной документации (<a>Web UI (Dashboard)</a>) указано, что ...<em>The UI can only be accessed from the machine where the command is executed</em>. Речь идет о команде kubectl proxy, которую предлагается использовать для доступа к Web UI.</p>
2 <p>В стандартной документации (<a>Web UI (Dashboard)</a>) указано, что ...<em>The UI can only be accessed from the machine where the command is executed</em>. Речь идет о команде kubectl proxy, которую предлагается использовать для доступа к Web UI.</p>
3 <p>Однако, этот доступ, относительно легко, получить и с любой другой рабочей станции.</p>
3 <p>Однако, этот доступ, относительно легко, получить и с любой другой рабочей станции.</p>
4 <p>Ниже инструкция как это сделать. Рассматривать будем кластер, на котором еще не установлен Dashboard.</p>
4 <p>Ниже инструкция как это сделать. Рассматривать будем кластер, на котором еще не установлен Dashboard.</p>
5 <p>Итак, сначала установим Web UI:</p>
5 <p>Итак, сначала установим Web UI:</p>
6 <p>1.Выполним</p>
6 <p>1.Выполним</p>
7 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml<p>2.Запускаем proxy</p>
7 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml<p>2.Запускаем proxy</p>
8 kubectl proxy&amp;amp; (&amp;amp; указываем для запуска в фоновом режиме)<p>3.Создаем секрет, чтобы получить токен, под которым будем ходить на Dashboard</p>
8 kubectl proxy&amp;amp; (&amp;amp; указываем для запуска в фоновом режиме)<p>3.Создаем секрет, чтобы получить токен, под которым будем ходить на Dashboard</p>
9 kubectl create serviceaccount &amp;lt;account name&amp;gt; kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:&amp;lt;account name&amp;gt; kubectl get secret (находим нужный - имя будет начинаться с &amp;lt;account name&amp;gt;) kubectl describe secret &amp;lt;secret name&amp;gt; Запоминаем полученный токен.<p>4.Создаем ssl-тунель на мастер-ноду</p>
9 kubectl create serviceaccount &amp;lt;account name&amp;gt; kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:&amp;lt;account name&amp;gt; kubectl get secret (находим нужный - имя будет начинаться с &amp;lt;account name&amp;gt;) kubectl describe secret &amp;lt;secret name&amp;gt; Запоминаем полученный токен.<p>4.Создаем ssl-тунель на мастер-ноду</p>
10 ssh -L 9999:127.0.0.1:8001 -N -f -l &amp;lt;user name&amp;gt; &amp;lt;k8s master host name or ip&amp;gt; Тут &amp;lt;user name&amp;gt; - пользователь, имеющий доступ на мастер-ноду. &amp;lt;k8s master host name or ip&amp;gt; - соответственно, мастер-нода.<p>5.С рабочей станции, где открывали тунель, радостно идем в Dashboard по пути: http://localhost:9999/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/</p>
10 ssh -L 9999:127.0.0.1:8001 -N -f -l &amp;lt;user name&amp;gt; &amp;lt;k8s master host name or ip&amp;gt; Тут &amp;lt;user name&amp;gt; - пользователь, имеющий доступ на мастер-ноду. &amp;lt;k8s master host name or ip&amp;gt; - соответственно, мастер-нода.<p>5.С рабочей станции, где открывали тунель, радостно идем в Dashboard по пути: http://localhost:9999/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/</p>
11 <p>6.Указываем токен, который мы запомнили в п. 3</p>
11 <p>6.Указываем токен, который мы запомнили в п. 3</p>
12 <p>7.Profit!</p>
12 <p>7.Profit!</p>
13  
13