Čt. Lis 17th, 2022
rubikova kostka rozložená rozebraná

Mějme už hotový kubernetes cluster nebo minikube, ve kterém chceme rozběhat Dashboard UI + Proxy, abychom se na něj dostali.

Jsem přihlášen na ssh na masteru.

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.0/aio/deploy/recommended.yaml

#zpřístupníme z venku (nejen z localhostu)



kubectl proxy --address 0.0.0.0 --accept-hosts '.*'

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/.
Vyzkoušíme se přihlásit
http://ipadresaStroje:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

V mém případě to bylo http://192.168.123.86:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

Naběhne nám stránka, která jasně červeně píše, že se tam dostanete pouze z localhostu. Takže pokud logujete z exposnuté jiné adresy, než localhost, stejně se nepřihlásíte, i když budete mít správný token. 😉 K tomu budete potřebovat ingress a o tom si povíme příště. (já pak zaměním pořadí, prvně ingress, pak tento tutorial)

Ještě nikam nelogujte, vytvoříme si uživatele

Na tomto odkaze je návod, který je úplně k ničemu.

Je tam návod na vytvoření demo uživatele se základními právy:

Bezmyšlenkovitě můžeme vytvořit soubor user.yaml , který obsahuje:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

Když aplikujeme konfigurák následujícím příkazem:

kubectl apply -f user.yaml

vypadne nám:

clusterrolebinding.rbac.authorization.k8s.io/admin-user created

Potom do terminálu copy pastneme tento příkaz:

kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath="{.secrets[0].name}") -o go-template="{{.data.token | base64decode}}"
Což nefunguje.

Takže jsem zkusil raději tento návod, který už byl OK.

kubectl create serviceaccount dashboard-admin-sa

kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa

kubectl get secrets

což ukáže něco jako:
# kubectl get secrets
NAME                             TYPE                                  DATA   AGE
dashboard-admin-sa-token-mhfq8   kubernetes.io/service-account-token   3      7m36s
default-token-qw8rg              kubernetes.io/service-account-token   3      4d22h


#takže další copy paste:
kubectl describe secret dashboard-admin-sa-token-mhfq8
A to už vám vyplivne klíč, který copy pastnete do webového formuláře a logne vás to dovnitř.

Potřebujete se ale dostat na localhost, což u virtuálky, která nemá internetový prohlížeč, ale jen terminál, půjde asi těžko. Můžete využít terminálový prohlížeč internetu lynx nebo links, či jiné, ale asi vás napadne, že existuje efektivnější řešení. Později si řekneme o službě ingress. Na hovado můžete vyzkoušet nainstalovat firefox a pomocí ssh -X uživatel@stroj se dostanete na mašinu, ze které pak pomocí příkazu firefox spustíte firefox a v něm si vložíte URL, na které vložíte token a dostane vás to dovnitř. 
Anebo si pořešíte ingress a vystavíte si uvedenou službu ven, přičemž se pak dostanete do dashboardu tak, jako kdybyste se přihlašovali z localhostu. (já vím, komplikované)

No a výsledek po přihlášení, vypadá nějak takto

zdroj

Avatar

By mirra

Hardwaru a počítačům se věnuji již od roku 2003. Za tu dobu jsem poskládal stovky počítačů, opravil tisíce počítačů a vyřešil nespočetně problémů, vad a chyb, se kterými se setkávali uživatelé. Od roku 2005 se zabývám servery, zejména těmi herními, v roce 2007 jsem se začal věnovat Valve Source SDK level designu, který šel od roku 2009 k ledu kvůli studiu Informatiky na univerzitě. Podílel jsem se chvíli i na provozu síťové laboratoře MENDELU, dnes spravuji cca 30 serverů/diskových polí na univerzitě, řeším IT v malých a středních firmách tak, aby firmy ušetřily nemalé částky při zlepšení kvality a soustředím se na snižování nákladů na IT od licencí až po hardware, software, provádím konsolidace a audity platnosti licencí, které firmám šetří rovněž nemalé peníze. Z velkých firem spravuji s dalšími kolegy 8000 serverů po celé Evropě a tato práce mě nesmírně baví, protože se vše musí automatizovat a nabízí mi to možnost trénovat další evropské jazyky od Angličtiny, přes Němčinu až po Italštinu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.

18 − four =