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; указываем для запуска в фоновом режиме)<p>3.Создаем секрет, чтобы получить токен, под которым будем ходить на Dashboard</p>
8
kubectl proxy&amp; (&amp; указываем для запуска в фоновом режиме)<p>3.Создаем секрет, чтобы получить токен, под которым будем ходить на Dashboard</p>
9
kubectl create serviceaccount &lt;account name&gt; kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:&lt;account name&gt; kubectl get secret (находим нужный - имя будет начинаться с &lt;account name&gt;) kubectl describe secret &lt;secret name&gt; Запоминаем полученный токен.<p>4.Создаем ssl-тунель на мастер-ноду</p>
9
kubectl create serviceaccount &lt;account name&gt; kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=default:&lt;account name&gt; kubectl get secret (находим нужный - имя будет начинаться с &lt;account name&gt;) kubectl describe secret &lt;secret name&gt; Запоминаем полученный токен.<p>4.Создаем ssl-тунель на мастер-ноду</p>
10
ssh -L 9999:127.0.0.1:8001 -N -f -l &lt;user name&gt; &lt;k8s master host name or ip&gt; Тут &lt;user name&gt; - пользователь, имеющий доступ на мастер-ноду. &lt;k8s master host name or ip&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 &lt;user name&gt; &lt;k8s master host name or ip&gt; Тут &lt;user name&gt; - пользователь, имеющий доступ на мастер-ноду. &lt;k8s master host name or ip&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