Kubernetes Kümesine Bağlanma
Kubernetes, tam yönetilen kontrol düzlemi, yüksek erişilebilirlik ve otomatik ölçeklendirme içerir.
Standart Kubernetes araç zincirleri (kubectl, API & CLI) ile entegredir.
Gerekli Araçlar
Kümenizi yerel bir makineden ya da uzaktan yönettiğiniz bir sunucudan kontrol etmek için aşağıdaki araçlara ihtiyacınız vardır:
- kubectl — Kubernetes’in resmi komut satırı aracı. Kümenize bağlanmak ve işlemler yapmak için kullanılır.
kubectl versionile kurulumunuzun çalıştığını ve kümenizin sürümüyle uyumlu olduğunu kontrol edebilirsiniz.oaicite:1 - Kubeconfig yönetimi — Kubeconfig dosyasını manuel olarak düzenleyebilir veya
kubectl configkomutlarıyla bağlam (context) ayarlarını yapabilirsiniz.
Kimlik Doğrulama Belirtme (Token veya Sertifika)
Küme oluşturulduktan sonra, kubectl yapılandırma dosyanıza bir kimlik doğrulama token’i ya da bir sertifika eklemeniz gerekir.
Sürüm Gereksinimleri
Token oluşturmak için aşağıdaki Kubernetes sürümü gereksinimleri geçerlidir:
- Kubernetes 1.16 ve sonrası sürümler desteklenir.
- Daha eski sürümlerde kimlik doğrulama için sertifika kullanılması gerekebilir.
Doctl’ın eski sürümleri veya eski Kubernetes sürümleri kullanılıyorsa, token yerine sertifika verilir.
kubectl ile Belge (Config) Alma (Önerilen Yöntem)
Kubeconfig dosyası provider'ın panelinden indirilir.
Dosyayı ~/.kube/config içine kopyaladıktan sonra:
Kümenizin kubeconfig dosyasını almak için:
kubectl get nodes
Bu işlem, kümenizin kubeconfig dosyasını indirir, mevcut ~/.kube/config dosyasıyla birleştirir ve kimlik doğrulama için gerekli olan token veya sertifikayı otomatik olarak yönetir.
Arka planda ise şu şekilde çalışır:
- Geri alınabilir OAuth token: Eğer yukarıda listelenen sürüm gereksinimlerini karşılıyorsanız, bir OAuth token alırsınız. Bu token’ı kontrol panelindeki Applications & API bölümünden görüntüleyebilir ve gerekirse iptal edebilirsiniz.
- Otomatik sertifika yenileme: Daha eski Kubernetes veya doctl sürümlerinde, 7 gün geçerli bir sertifika oluşturulur. Bu sertifika otomatik olarak yenilenir ve iptal edilemez.
Kubernetes kümelerini daha yeni patch veya minor sürümlere yükselterek sertifika yerine token kullanmaya geçebilirsiniz.
Kontrol Panelinden Config Dosyasını İndirme
Küme yapılandırma dosyasını manuel olarak da kontrol panelinden indirebilirsiniz.
- Kümenizin adına tıklayarak Overview sekmesine gidin.
- Configuration bölümünde Download Config File seçeneğine tıklayarak kubeconfig dosyasını indirin.
- İndirilen dosya
<clustername>-kubeconfig.yamlolarak adlandırılır. - Bu dosyayı
~/.kubedizinine koyun vekubectlkomutuna--kubeconfigparametresiyle geçirin.
Örneğin:
kubectl --kubeconfig=~/.kube/<clustername>-kubeconfig.yaml get nodes
Kimlik doğrulama için kullanılan yöntem, Kubernetes sağlayıcınıza bağlıdır.
-
Çoğu sağlayıcıda, yapılandırma dosyasında bir token bulunur.
-
Daha eski sürümlerde ise sertifika tabanlı kimlik doğrulama kullanılabilir.
Küme ile Bağlantı Kurma
Küme yapılandırma dosyası hazır olduğunda, kubectl kullanarak kümeler oluşturabilir, yönetebilir ve uygulamalar dağıtabilirsiniz.
kubectl komutları ve seçenekleri hakkında daha fazla bilgi için resmi kubectl dokümantasyonuna göz atabilirsiniz.
Context’ler
Kubernetes’te bir context, erişim parametrelerini kolayca yönetmek için kullanılan isimlendirilmiş bir gruptur.
Her kümenin yapılandırma dosyasında, küme özel değerler içeren bir context bölümü bulunur. Bu yapı genellikle şu şekilde görünür:
Aşağıda bir Kubernetes context yapılandırma örneği verilmiştir:
contexts:
- context:
cluster: example-cluster
user: example-cluster-admin
name: example-cluster
current-context: example-cluster
kubectl kullandığınızda, çalıştırdığınız komutlar varsayılan context üzerinde etkili olur.
Eğer farklı bir context kullanmak istiyorsanız, --context bayrağını eklemeniz gerekir.
Örneğin:
kubectl get nodes --context=example-cluster
Geçerli varsayılan context’i kontrol etmek için şu komutu kullanın:
kubectl config current-context
Current-context is not set hatası alırsanız, varsayılan bir bağlam ayarlamanız gerekir.
Kullanılabilir tüm bağlamları listelemek için şunu kullanın:
kubectl config get-contexts
Terminal çıktısı şu şekilde görünecektir:
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* example-cluster example-cluster example-cluster-admin
Varsayılan context, çıktıda CURRENT sütununda yıldız işareti (*) ile belirtilir. Varsayılan context’i farklı bir context ile değiştirmek için şu komutu kullanın:
kubectl config use-context example-cluster
Namespaces
Kubernetes’te namespace, küme kaynaklarını birden fazla kullanıcı arasında bölmenin bir yoludur.
Aynı küme üzerinde birçok kullanıcının çalıştığı senaryolarda oldukça faydalıdır.
- Bir küme içinde birden fazla namespace oluşturabilirsiniz.
- Bir namespace içindeki kaynaklar diğer namespace’lerden gizlenir.
Daha fazla bilgi için Kubernetes Namespaces Walkthrough dokümantasyonuna göz atabilirsiniz.