Lens Desktop ile Permission Manager

image006

Bu yazımızda Permission Manager yüklemesinden bahsedeceğiz. Permision Manager; Kubernetes üzerinde Pod ve Namespace’leri kontrol etmek için bağlantı kurduğumuz Lens Desktop uygulamasında admin ve kısıtlı kullanıcı profilini ayarladığımız bir ortamdır.

Kullanıcılara yetkili ve kısıtlı erişim kullanıcıları şeklinde ayırmanın yanında namespace özelinde de kullanıcıları yetkilendirmemizi sağlar.

Bize kurulum sonunda web panelinden erişim sağlayarak ilgili ayarları yaptıktan sonda “Lens Desktop” uygulamasında bağlantı sağlarken kullanabilmek adına bir config dosyası oluşturur.

Kubernetes kurulu ortam üzerinde;

kubectl create namespace permission-manager komutu ile permission-manager namespace’ini oluşturuyoruz.

Resim-1

[root@sedat-test-k8s ~] vim permission.yaml  # permission.yaml dosyasını oluşturuyoruz.

apiVersion: v1

kind: Secret

metadata:

name: permission-manager

namespace: permission-manager

type: Opaque

stringData:

PORT: “4000” # Permission manager bağlantı portu

CLUSTER_NAME: “my-cluster” # oluşturulan kubeconfig dosyasında kullanılacak cluster adı..

CONTROL_PLANE_ADDRESS: “https://10.x.x.x:6443” # host IP adresi

BASIC_AUTH_PASSWORD: “Password123” # arayüz paneline giriş sağlarken kullanılacak şifre oluşturulur. Kullanıcı adı default “ admin ” olarak girildiği için burada bunun için bir işlem sağlanmaz.

Düzenleme sonunda vim panelinden “:wq! “ kaydet ve çıkmaya zorla diyerek çıkış sağlarız.

Sonrasında sırasıyla;

kubectl apply -f ./permission.yaml

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.7.1-rc1/crd.yml

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.7.1-rc1/seed.yml

kubectl apply -f https://github.com/sighupio/permission-manager/releases/download/v1.7.1-rc1/deploy.yml

Komutlarını çalıştırıyoruz.

Resim-2

kubectl get svc permission-manager -n permission-manager #Komutu ile namespace’in durumunu kontrol ediyoruz.

Web arayüz paneline “http://IP_adresi:4000″ şeklinde erişim sağlayabiliriz.

Resim-3

  • Create New User alanına tıklayarak yeni bir kullanıcı oluşturabilirsiniz.
  • Users panelinde var olan kullanıcılarınızı listeleyebilirsiniz.

Resim-4

Username: Oluşturulacak kullanıcının adı yazılır.

TEMPLATES:

Template

User’ın kullanım durumu bağlantıda nasıl olacak “ developer ” modunda mı yoksa “ operation ” modunda mı bunun seçimi sağlanır. Detaylarına template üzerine gelerek ulaşabilirsiniz.

Namespace

Erişmesi istenilen namespace’ler listelenir. Kullanıcı için hangisine yetki verilmesi isteniyorsa bu seçilir. Tüm namespace’lere erişim verilecek ise (önerilmez) “All Namespaces” seçeneği işaretlenir.

Access To Cluster Resouces (Non-Namespaced)

Kaynaklara erişim nasıl olmalı user için seçimi yapılır ve kaydet seçeneği ile işlemden çıkılır.

Sonrasında bağlantı için ;

Kullanıcı seçilir, show kubeconfig for user alanına tıklayıp Lens Desktop bağlantısında kullanılacak olan config dosyası kopyalanır.

Kullanıcı’nın yanında yazan “default” seçeneği kullanıcının yetkili olduğu namespace’i gösterir.

Resim-5

Not: Config dosyasında sertifika bilgileri yer almaz bunun için admin config içerisindeki (admin config’e erişim için sunucu üzerinde“ cat /root/.kube/config” komutu ile ulaşabilirsiniz. ) alan kopyalanır ve user için alınan config içine “certificate-authority-data” ‘nın yanına kopyalanan sertifika bilgisi yazılır.

Lens Desktop bağlantı ekranı;

Resim-6

Kullanıcının yetkili olduğu namespace’i buradan da kontrol edebiliriz. Biz kullanıcımızı “default” namespace’inde yetkilendirdik.  Şuan ortamda herhangi bir deployment olmadığı için ekranlar temiz görünüyor :)

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz. 

Referanslar

http://www.mshowto.org/

TAGs: permission-manager, lens, k8s, kubernetes, linux, namespace, pods, install, config, lens desktop, lens desktop nedir

Yazı gezinmesi

Mobil sürümden çık