Portainer, en popüler konteyner yönetim arayüzlerinden biridir. Portainer, Docker ve Docker Compose’a odaklanarak başlamış olsa da, Docker Swarm ve Kubernetes gibi orkestratörler tarafından yönetilen kümelerle de çalışır.
Bu makalede, Portainer’ı bir Kubernetes kümesine nasıl bağlayacağınızı öğreneceksiniz. Pod’lar, Dağıtımlar ve ConfigMaps gibi Kubernetes nesnelerini görüntülemek ve bunlarla etkileşim kurmak için Portainer’ı kullanabileceksiniz. Portainer, Helm çizelgelerini dağıtabilir ve bazı temel küme düzeyinde bilgileri de ortaya çıkarabilir. Basit Kubernetes yönetimi için resmi gösterge panosuna ve Lens gibi diğer seçeneklere uygun bir alternatiftir.
Kümenize Portainer Dağıtma
Devam etmeden önce, işleyen bir Kubernetes kümesine erişiminiz olduğundan emin olun. kullanarak bir tane sağlayabilirsiniz [a managed cloud service] veya MicroK8s veya Minikube gibi bir çözüm kullanarak kendi yerel olarak çalıştırın. Ayrıca Portainer kurulum sürecini basitleştirmek için Helm’in kurulu olması gerekir.
Aşağıdaki komutları kullanarak Portainer deposunu Helm’e ekleyin:
$ helm repo add portainer https://portainer.github.io/k8s/ $ helm repo update
Ardından, Portiner uygulamasını dağıtmak için aşağıdaki komutlardan birini çalıştırın.
NodePort ile Portainer’ı Ortaya Çıkarın
$ helm install --create-namespace -n portainer portainer portainer/portainer
Bu en basit yöntemdir. Portiner Pod’unu çalıştıran Düğümdeki 30777 numaralı bağlantı noktasını kullanarak HTTP üzerinden Portiner’a erişebileceksiniz. HTTPS trafiği, kendinden imzalı bir sertifika kullanılarak 30779 numaralı bağlantı noktasında sunulacaktır. Bu yöntemle dağıtım yaparken kendi SSL sertifikanızı sağlamak istiyorsanız, Portainer belgelerine bakın.
Bir Yük Dengeleyici ile Portainer’ı Ortaya Çıkarın
$ helm install --create-namespace -n portainer portainer portainer/portainer \ --set service.type=LoadBalancer
Bu yöntem NodePort’a benzer ancak Node’larınızın önünde bir yük dengeleyici kullanır. HTTP üzerinden Portainer’a ulaşmak için yük dengeleyicinin IP’sindeki 9000 numaralı bağlantı noktasını ziyaret edin. HTTPS, 9443 numaralı bağlantı noktasında desteklenir.
Giriş Rotası ile Portainer’ı Ortaya Çıkarın
helm install --create-namespace -n portainer portainer portainer/portainer \ --set service.type=ClusterIP \ --set ingress.enabled=true \ --set ingress.annotations.'kubernetes\.io/ingress\.class'=nginx \ --set ingress.annotations."nginx\.ingress\.kubernetes\.io/backend-protocol"=HTTPS \ --set ingress.hosts[0].host=portainer.example.com \ --set ingress.hosts[0].paths[0].path="https://www.howtogeek.com/"
Bu yöntem, bir Giriş yolu kullanarak Portainer’ı gösterir. Kümenizin içinde NGINX Ingress gibi bir Giriş denetleyicisine ihtiyacınız olacak. Değiştirmek host
ve path
Portainer rotasını özelleştirmek için komuttaki değişkenler. Bu örnekte, adresini ziyaret ederek Portainer’a erişebileceksiniz. portainer.example.com
uygun bir DNS kaydı ayarladıktan sonra.
Bir Giriş rotası oluşturmak, Düğümler arasında yük dengelemeyi desteklediğinden ve belirli bir etki alanı atamanıza izin verdiğinden, Portainer’a uzun vadeli hizmet vermenin en iyi yoludur. NodePort veya LoadBalancer seçenekleri, kullanılabilir bir Giriş denetleyicisi olmayan kümelerle denemeler yaparken daha basit seçeneklerdir.
Dağıtımınızı tamamladıktan sonra, uygun Giriş ana bilgisayarını veya IP adresini ve bağlantı noktası numarasını ziyaret ederek tarayıcınıza Portainer’ı yükleyin. Kullanıcı hesabınızı oluşturmak için kurulum ekranını doldurun.
Portainer artık Kubernetes kümenizle kullanıma hazır olacak; doğrudan Kubernetes’e dağıtma ortamınızı otomatik olarak keşfeder. Kurulumu tamamlamak için “Başlayın” düğmesine tıklayın.
Mevcut Bir Portainer Kurulumuna Kubernetes Kümesi Ekleme
Mevcut bir Portainer kurulumuna bir Kubernetes kümesi ekleyebilirsiniz. Küme kaynaklarını tüketmemesi için Portainer’ı ana makinenizin dışında çalıştırmayı seçebilirsiniz.
Portainer bulut sunucunuzda oturum açarak başlayın. Sol kenar çubuğunun altındaki “Ortamlar” bağlantısını tıklayın. Ekranın üst kısmındaki mavi “Ortam ekle” düğmesini tıklayın.
Ardından “Kubernetes” kutucuğuna ve ardından ekranın altındaki “Sihirbazı Başlat” düğmesine basın.
Bir sonraki ekran, Portainer Kubernetes aracısı için kurulum talimatlarını gösterecektir. Bu bileşen, kümenizin içine yüklenir. Portainer, Kubernetes bilgilerini çıkarmak ve istenen eylemleri uygulamak için aracıyla iletişim kurar.
Aracıyı bir NodePort veya bir LoadBalancer ile dağıtma arasında seçim yapabilirsiniz. Uygun sekmeyi seçin ve ardından görüntülenen komutu kopyalayın. Portainer Agent’ı kümenize eklemek için bunu terminalinizde çalıştırın. Portainer Agent, Portainer uygulaması ilk kez iletişim kurduğunda aldığı dijital bir imza kullanılarak güvence altına alınır. Aracı, doğru imzayı sağlamayan istemcilerden gelen iletişimleri reddedecektir.
Ardından, Portainer web kullanıcı arayüzünde görüntülenen “Ad” ve “Ortam URL’si” alanlarını doldurun. Kümenizi tanımlayan herhangi bir ad seçebilirsiniz.
Bir NodePort bağlantısı kullanıyorsanız, ortam URL’si Düğümünüzün IP adresinde 30778 numaralı bağlantı noktası olmalıdır. LoadBalancer bağlantıları için, çalıştırarak yük dengeleyicinin harici IP’sini bulun. kubectl get services -n portainer
. Aracı, bu IP’de 9001 numaralı bağlantı noktasında gösterilecektir.
$ kubectl get services -n portainer NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) portainer portainer-agent LoadBalancer 10.245.110.27 139.59.198.245 9001:30343/TCP
Bağlantınızı tamamlamak için “Bağlan” düğmesine tıklayın. Ortamın eklendiğini onaylayan yeşil bir açılır pencere uyarısı görmelisiniz. Ortamlar listesine geri dönmek için ekranın altındaki “Son” düğmesine basın.
Kubernetes’i Yönetmek için Portainer’ı Kullanma
Portainer ana ekranı, yapılandırılmış tüm ortamlarınızı görüntüler. Bunlar Kubernetes kümeleri, yerel Docker Engine yüklemeleri veya desteklenen diğer herhangi bir uç nokta olabilir. Yönetmeye başlamak için kümenizi tıklayın.
Küme panosu ekranı, kümenizdeki kaynakların sayısına ilişkin bir genel bakış sağlar. Portainer şu anda Ad Alanları, Uygulamalar (Pod’larınız ve Dağıtımlarınız), ConfigMaps ve Secrets ve Volumes ile etkileşimlere odaklanmaktadır. Bazı Kubernetes kavramları üzerinde bir soyutlama katmanı sağlar.
Çalışan Bölmelerinizi ve Dağıtımlarınızı görüntülemek için Uygulamalar kutucuğuna veya kenar çubuğuna tıklayın. Ekran, bir Giriş yolu yapılandırıldığında kullandıkları görüntü ve harici URL’leri de dahil olmak üzere kümenizdeki tüm uygulamaları gösterir.
Bir Kubernetes manifest dosyası yükleyerek veya Pod’larınızı etkileşimli olarak yapılandırmak için “Formla uygulama ekle” düğmesini tıklayarak yeni bir uygulama ekleyebilirsiniz.
Portainer ayrıca kümenizin kaynak kullanımının temel bir özetini sunar. Kümenizdeki Düğümleri ve bunların bellek ve CPU rezervasyonlarını görüntülemek için “Küme” kenar çubuğu öğesini tıklayın.
Son olarak, Küme > Kurulum’a gidilerek erişilen küme kurulum ekranı, Kubernetes ortamınız için etkinleştirmek üzere Portainer özelliklerini kontrol eder. Bunu, hangi yük dengeleyicilerin, Giriş denetleyicilerinin ve depolama sınıflarının kullanıcılara sunulması gerektiğini Portainer’a söylemek için kullanabilirsiniz. Diğer ayarlar, kaynak aşırı taahhütlerine izin verilip verilmeyeceğini değiştirme yeteneğini (kümenin sağlayabileceğinden daha fazla kaynağın istenebileceği durumlarda) ve daha ayrıntılı kullanım bilgilerine erişmek için Metrics API’sinin etkinleştirilmesini içerir. Bu, Metrics API’nin kümenizde önceden kurulu olmasını gerektirir.
Özet
Portainer, en popüler konteyner yönetim arayüzlerinden biridir. Modern Portainer sürümleri, Kubernetes kümeleri için yerleşik desteğe sahiptir. Portainer’ı kümenizin içinde dağıtabilir veya Kubernetes’i mevcut bir uygulama örneğine bağlamak için Portainer aracısını kullanabilirsiniz.
Ayarladıktan sonra, Kubernetes Pod’larını ve diğer nesneleri görüntülemek ve bunlarla etkileşim kurmak için Portainer’ı kullanabilirsiniz. Bu, terminalinizde karmaşık Kubectl komutlarını çalıştırmaktan daha uygun olabilir. Portainer, Kubernetes kümelerinden tek düğümlü Docker kurulumlarına kadar tüm kapsayıcı ortamlarınızı tek bir platformda toplamanıza olanak tanır.