İlk bölümde Docker Desktop ile gelen Kubernetes üzerine bir pod deploy edip, tarayıcı üzerinden pod içerisinde çalışan ngix container’a erişim sağlamıştım. Bu bölümde ise pod ile deployment ve replicaset de oluşturduktan sonra Kubernetes Dashboard kurulumu yapacağım.
Bu kez YAML dosyası oluşturup ilerlemek yerine kubectl run nginx –image=nginx:latest komutunu kullanacağım. Resim-1‘de gördüğünüz deprecated uyarısına da dikkat çekerek neden bu komutu kullandığımı da kubectl get all komutu çalıştırarak vermek istiyorum: İlk bölümde kaynaklar arasında sadece pod varken, bu kez deployment ve replicaset‘in de oluştuğunu görebilirsiniz.
Resim-1
Kubernetes Dashboard kurulumu için Resim-2‘de göreceğiniz kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
komutunu çalıştırıyorum. Komutta yer alan bağlantıya giderek dashboard kurulumu için kullanılan YAML içeriğini inceleyebilirsiniz.
Resim-2
Dashboard kurulumunu tamamladık ancak dashboard için bir servis kullanıcısına ihtiyacımız var. Bunun için Resim-3‘te göreceğiniz service-acc.yml adında basit bir YAML dosyası hazırlıyorum.
Resim-3
Dosyanın olduğu klasöre giderek kubectl apply -f .\service-acc.yml komutunu çalıştırıyorum. YAML dosyası içerisinde bir kullanıcı adı belirtmeme rağmen herhangi bir şifre belirtmedim. Kubernetes Dashboard’a login olabilmek için bu kullanıcıya ait bir de şifre bilgisi gerekli değil mi? Dashboard’a bu kullanıcıya ait bir token ile giriş yapacağım. Bu token’ı almak için ise uzun bir PowerShell komutu kullanacağım (Resim-4).
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls mert | ForEach-Object { $_ -Split ‘\s+’ } | Select -First 1)
Resim-4
Kullanıcı token’ını aldıktan sonra erişim öncesinde Resim-5‘te göreceğiniz gibi kubectl proxy komutunu kullanarak Kubernetes cluster’a erişimi sağlamak gerekiyor.
Resim-5
Sonrasında dashboard’a erişim için aşağıdaki linki kullanabilirsiniz.
Açılan ekranda token seçeneğini seçerek buraya yukarıdaki PowerShell komutu ile aldığım kullanıcı token’ını giriyorum (Resim-6).
Resim-6
Overview ekranında kubectl run komutu ile oluşturduğum deployment, pod ve replicaset kaynaklarını görebilirsiniz (Resim-7).
Resim-7
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
https://www.mshowto.org/docker-desktop-uzerinde-kubernetes-kullanimi-bolum-1.html
https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/
TAGs: Docker, Docker Desktop, Containers, Container, nginx, Kubernetes, Kubernetes Dashboard, k8s, kubectl, PowerShell, YAML, Visual Studio Code, VS Code
Merhaba Mert Bey,
27/06/2022’de bu komutlarla ilerledigimde token bilgisini gostermiyor, sanirim gizliyor. Ekran ciktisi su sekilde:
PS C:\Users\tektu\desktop\Kube> kubectl apply -f .\service-acc.yml
serviceaccount/ozan created
PS C:\Users\tektu\desktop\Kube> kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | sls ozan | ForEach-Object { $_ -Split ‘\s+’ } | Select -First 1)
Name: kubernetes-dashboard-certs
Namespace: kubernetes-dashboard
Labels: k8s-app=kubernetes-dashboard
Annotations:
Type: Opaque
Data
====
Name: kubernetes-dashboard-csrf
Namespace: kubernetes-dashboard
Labels: k8s-app=kubernetes-dashboard
Annotations:
Type: Opaque
Data
====
csrf: 256 bytes
Name: kubernetes-dashboard-key-holder
Namespace: kubernetes-dashboard
Labels:
Annotations:
Type: Opaque
Data
====
priv: 1679 bytes
pub: 459 bytes
What can I do sometimes? :)
Tesekkurler,