Kubernetes, Project ve Console Temelleri

Kubernetes, Project ve Console Temelleri

OpenShift'e ilk kez giren bir sistem yöneticisinin alışık olduğu sanallaştırma kavramlarıyla düşünmesi doğal. ESXi üzerinde VM oluşturmakla OpenShift'te uygulama çalıştırmak arasında benzerlikler olsa da temel yönetim nesnesi farklıdır. OpenShift, Kubernetes'in container orkestrasyon temeli üzerine kimlik, ağ, güvenlik, operatör ve yaşam döngüsü bileşenleri ekler. Bu serinin ilk bölümünde çalışan bir cluster'a erişim sağlayıp bir Project'in neyi temsil ettiğini, Console ile oc CLI arasındaki ilişkiyi anlayacağız.

Başlamadan önce

Bu örnekler OpenShift Container Platform 4.21 dokümantasyonuna göre hazırlanmıştır. Ön koşul, erişim izniniz olan bir test cluster, web console adresi ve size verilmiş kullanıcı hesabıdır. Üretim cluster'ında rastgele kaynak oluşturmayın. Gerekli yetkiniz yoksa yönetici hesabı veya token talep etmek yerine deneme için yetkili ekibin bir Project açmasını isteyin. Komutlardaki demo-platform örnek addır; kurumunuzda isim politikası farklı olabilir.

OpenShift Web Console'a kurumun sağladığı güvenilir URL üzerinden giriş yapın. Administrator ve Developer görünümleri yetkilerinize ve sürüme bağlı olarak farklı seçenekler sunabilir. Topology ekranı uygulamaların ilişkisini görmeye, Workloads bölümü workload nesnelerini kontrol etmeye yarar. Console'da bir şey göremiyorsanız kaynak yok demeden önce seçili Project'i ve RBAC izinlerini kontrol edin.

Project ve namespace ilişkisi

Kubernetes namespace, nesneleri mantıksal olarak ayırır. OpenShift Project, namespace üzerinde kullanıcıların yönetebildiği bir çalışma alanı deneyimi sunar ve ek metadata/politika bütünlüğü sağlar. Her Project'e ayrı fiziksel sunucu ayrıldığı varsayımı doğru değildir. Pod'lar scheduler tarafından uygun node'lara yerleştirilir; Project izolasyonu için RBAC, network policy ve kaynak kotaları ayrıca önem taşır.

Bir uygulama ekibi için demo-platform adlı test Project kullanıldığını düşünelim. Ekip yalnızca burada Deployment, Service ve ConfigMap yönetebilmeli, başka Project'teki Secret'ları görmemelidir. Bu davranış güvenlik rol tanımlarıyla belirlenir. 'Project seçtim, diğer Project'teki her şey otomatik ve tamamen izole' varsayımı özellikle network erişimi açısından yanıltıcıdır.

oc CLI ile salt okunur ilk adımlar

oc komut satırı aracını Console'un sunduğu indirme bağlantısından veya Red Hat'in ilgili sürüm paketlerinden kurun. Komut sürümünü oc version --client ile kontrol edin. Cluster URL ve kimlik doğrulama yöntemini kurumunuzun güvenli yönergelerinden alın. Token gibi gizli bilgileri shell history, ekran görüntüsü veya ekip sohbetine kopyalamayın.

Yetkili bir oturumdan sonra aşağıdaki salt okunur komutlar ilk durumu anlamanıza yardımcı olur:

oc whoami
oc project
oc get projects
oc get pods -n demo-platform
oc get services -n demo-platform

oc whoami oturum kimliğini; oc project aktif Project'i gösterir. Yetkiniz olmayan Project'ler oc get projects listesinde bulunmayabilir veya Forbidden dönebilir. oc get pods -n demo-platform yalnızca ilgili Project'teki pod'ları listeler. Project mevcut değilse NotFound beklenebilir; komut bunun üzerine yeni bir Project oluşturmaz.

Basit kontrol senaryosu ve temizlik

Console'da bir Project seçip Workloads/Pods görünümündeki nesneleri oc get pods -n <project> çıktısıyla karşılaştırın. Aynı Project ve aynı oturumun kullanıldığından emin olun. oc config get-contexts ile yerel kubeconfig içindeki context kayıtlarını inceleyin; farklı cluster'a bağlı bir context'te çalıştırılan komutun yanlış sonuç vermesi sık rastlanan bir hatadır.

Bu bölümde kaynak oluşturmadığımız için silinecek test nesnesi yok. Yanlış context'i kullandıysanız önce oc config get-contexts üzerinden doğrulayın, ardından yalnızca yetkili olduğunuz doğru context'e geçin. Sonraki bölümde CLI kurulumu, güvenli login ve context yönetimini ele alacağız. Cluster'a ilk erişimde en değerli beceri hızlı kaynak oluşturmak değil, hangi cluster'da ve hangi Project'te olduğunuzu kesin bilmektir.

Kaynak

  • Red Hat OpenShift 4.21 Tutorials: https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/tutorials/index
  • Red Hat OpenShift 4.21 Overview: https://docs.redhat.com/en/documentation/openshift_container_platform/4.21/html/overview/welcome-index