Post

Portainer Nedir Nasıl Kurulur ?

Portainer Nedir Nasıl Kurulur ?

Portainer, Docker ve Kubernetes gibi konteyner tabanlı uygulama yönetim sistemlerini kullanmayı kolaylaştıran "açık kaynak ve kullanması ücretsiz(CE)" bir araçtır. Portainer, kullanıcıların Docker veya Kubernetes ortamlarını yönetmelerine yardımcı olmak için bir web tabanlı arayüz sunar.

Bu arayüz sayesinde, kullanıcılar konteynerlerin oluşturulması, başlatılması, durdurulması, yeniden başlatılması, silinmesi gibi işlemleri kolayca gerçekleştirebilirler. Ayrıca, mevcut konteynerlerin durumunu, kaynak kullanımını ve ağ yapılandırmalarını görmek için izleme ve görselleştirme özelliklerine de sahiptir. Portainer, birden fazla Docker veya Kubernetes ortamını yönetme yeteneğine sahiptir.

Portainer Kullanım Alanları nelerdir?

  1. Konteyner Yönetimi: Portainer, Docker konteynerlerinizi oluşturmanıza, başlatmanıza, durdurmanıza ve yönetmenize olanak tanır. Konteynerlerinizi tek bir arayüzden kolayca görüntüleyebilir ve yönetebilirsiniz.
  2. Görsel Konteyner Yönetimi: Portainer, Docker API'sını kullanarak konteynerlerinizi görsel bir arayüz üzerinden yönetmenize olanak sağlar. Bu, Docker komut satırı aracılığıyla uğraşmak yerine kullanıcı dostu bir deneyim sunar.
  3. Kullanıcı ve Erişim Kontrolü: Portainer, kullanıcı yönetimi ve erişim kontrolü için yetenekler sunar. Kullanıcılar ve roller oluşturabilir, kullanıcıların belirli konteynerlere erişimini sınırlayabilir veya özel izinler atayabilirsiniz.
  4. Loglar ve İzleme: Portainer, konteynerlerinizin durumunu ve kaynak kullanımını izlemenizi sağlar. Ayrıca konteynerlerin günlüklerini görüntüleyebilir ve izleyebilirsiniz.
  5. Konteyner İzleme ve Ölçeklendirme: Portainer, konteynerlerinizi izlemenize ve gerektiğinde ölçeklendirmenize olanak tanır. Kaynak kullanımını izleyebilir, performans sorunlarını tespit edebilir ve gerektiğinde yeni konteynerler oluşturabilirsiniz.
  6. Veri Yönetimi: Portainer, Docker veri depolarını yönetmenize yardımcı olur. Bir veri deposu oluşturabilir, veri tabanları ve dosya depolama sistemlerini yönetebilir ve veri depolarını konteynerlere bağlayabilirsiniz.
  7. Uygulama Yönetimi: Portainer, Docker Swarm ve Kubernetes gibi konteyner orkestrasyon araçlarıyla entegrasyon sağlar. Bu sayede birden fazla konteyneri gruplandırabilir, uygulamaları yönetebilir ve yük dengelemesi yapabilirsiniz.

Bu makalede [3] adımda Docker Kurulumu, Portainer kurulumu ve Upgrade işlemlerini yapacağız:

1: Docker'ı Kurma & Kaldırma

Portainer'ı çalıştırmak için Docker'ın sisteminizde yüklü olması gerekmektedir. Docker kurulumunu daha önce yapmıştık:

https://farukguler.com/posts/docker-install-on-linux/

https://farukguler.com/posts/how-to-uninstall-docker-on-linux/

2: Portainer'ı Kurma

"Portainer'ı harici olarak kurabilirsiniz ama burada docker imajı üzerinden kuracağız" Portainer, Docker image olarak kullanılabilir ve Docker ortamında çalışabilir. Bu sayede Portainer'ı istediğiniz Docker motoruna erişmesini sağlayabilirsiniz.

Portainer minimum sistem gereksinimleri:

  • İşletim Sistemi: Portainer, Windows, macOS veya Linux gibi yaygın işletim sistemlerinde çalışabilir. Portainer, Docker üzerinde çalıştığından, Docker'ın işletim sisteminize uyumlu olarak yüklü ve çalışır durumda olması gerekmektedir.
  • CPU: Portainer'ın minimum CPU gereksinimi, Docker'ın çalışması için gereken minimum CPU gereksinimlerine bağlıdır. Genellikle düşük güçlü bir işlemci bile yeterli olabilir.
  • Bellek (RAM): Portainer'ın minimum RAM gereksinimi, Docker'ın çalışması için gereken minimum RAM gereksinimlerine bağlıdır. Genellikle en az 2 GB RAM önerilir.
  • Disk Alanı: Portainer'ın minimum disk alanı gereksinimi, Docker'ın çalışması ve konteynerlar için depolama alanı sağlamak için gereken minimum disk alanı gereksinimlerine bağlıdır. Genellikle en az 5 GB boş disk alanı önerilir.

Portainer Konteynerinin Oluşturulması: Portainer'ı bir Docker konteyneri olarak çalıştıracağız. Konteyneri oluşturmak için aşağıdaki komutu çalıştırın, Ayrıca oluşturduğumuz bu Volume, konteyner silinse dahi verileri kalıcı olarak tutabilmeyi sağlar.

##Portainer Kurulum:
#ilk olarak sistemimizi güncelleyin:
sudo apt-get update
sudo apt-get upgrade

#Eğer Portainer imajı yerel Docker ortamınızda bulunmuyorsa, o zaman önce docker pull komutuyla imajı indirmeniz gerekir:
docker pull portainer/portainer-ce:latest
#docker pull portainer/portainer-ce:x.xx

#docker volume oluşturmak için:
docker volume create portainer_data

#Docker volumlerini görüntülemek için:
docker volume ls

#Docker volumleri hakkında daha ayrıntılı bilgi almak için:
docker volume inspect portainer_data
#Portainer CE'ı indirmek,kurmak,çalıştırmak için kullanılan Toplu Docker komutu:
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

***Bu docker komutunun işlevleri ve parametreleri şu şekildedir:

Bu komut, Portainer'ı Docker konteynerı olarak çalıştırmak için kullanılan komuttur. İşlevleri ve parametreleri şu şekildedir:

  • docker run: Docker konteynerını başlatmak için kullanılan komut.
  • -d: Konteynerı arka planda (detached modda) çalıştırır.
  • -p 8000:8000: Konteynerın 8000 numaralı yerel portunu 8000 numaralı konteyner portuna eşler. Bu, Portainer web arayüzüne yerel makineden erişim sağlamak için kullanılır.
  • -p 9000:9000: Konteynerın 9000 numaralı yerel portunu 9000 numaralı konteyner portuna eşler. Bu, Portainer'ın agentleri iletişim kurabilmesi için kullanılır.
  • --name=portainer: Konteynera "portainer" adını verir.
  • --restart=always: Konteynerın her zaman otomatik olarak yeniden başlatılmasını sağlar.
  • -v /var/run/docker.sock:/var/run/docker.sock: Docker API'sine erişim sağlamak için Docker soket dosyasını konteynere bağlar.
  • -v portainer_data:/data: Portainer'ın konteyner içindeki verilerini tutması için bir Docker birimi oluşturur ve /data yoluna bağlar.
  • portainer/portainer-ce:latest: Portainer'ın resmi Docker görüntüsünü belirtir. portainer-ce etiketiyle en son sürümünü kullanır.

***Bu komut, Portainer konteynerını çalıştırır ve Docker API'sine erişerek Docker konteynerlarını yönetmenizi sağlar.

***3: Portainer Upgrade:

##Portainer Upgrade:

#Linkler
https://docs.portainer.io/admin/settings#backup-portainer
https://docs.portainer.io/start/upgrade
https://docs.portainer.io/start/upgrade/docker
https://docs.portainer.io/start/upgrade/swarm
https://docs.portainer.io/start/upgrade/kubernetes
https://docs.portainer.io/start/upgrade/edge

#Portainer yedekleyin:
https://docs.portainer.io/admin/settings#backup-portainer
----

#Yedekten geri yükleyin (gerekirse)
----

#Portaineri durdurun
docker stop portainer
#docker rm portainer

#Local olarak görüntünün en son sürümünü indirin
docker pull portainer/portainer-ce:latest

#Son olarak Portainer'ın güncellenmiş sürümünü yükleyin
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

***Portainer'ın en yeni sürümü artık önceki sürümdeki kalıcı verileri kullanarak yüklenecek ve ayrıca Portainer veritabanını yeni sürüme yükseltecektir.

***SSL sertifikalarınızı; sertifikayı ve anahtar dosyalarını sağlamak üzere aşağıdaki komut kullanabilir
docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest --sslcert /path/to/cert/portainer.crt --sslkey /path/to/cert/portainer.key

#Adreslere gidin
#http://your-server-address:9000
#https://your-server-address:9443

Portainer'a Erişim:

Portainer konteynerı başlatıldıktan sonra, web tarayıcınızda :

"http://localhost:9000" HTTP adresine gidin. Eğer Docker'ı başka bir makinede çalıştırıyorsanız, IP adresini veya alan adını(FQDN) kullanarak ulaşabilirsiniz. Ayrıca, Portainer'ın agentleriyle iletişim kurabilmesi için default olarak HTTP:9000 numaralı portu kullanır.

Portainer'ı başarıyla kurduktan sonra, Artık Portainer üzerinden Docker konteynerlerinizi yönetebilir, izleyebilir ve dağıtabilirsiniz. Arayüzde sunulan özellikler arasında konteynerlerin oluşturulması, durdurulması, silinmesi, görüntülerin yönetimi, ağ yapılandırmaları ve günlüklerin görüntülenmesi gibi birçok özellik bulunmaktadır.

  1. Portainer Yönetici Hesabının Oluşturulması: İlk ziyaretinizde Portainer, bir yönetici hesabı oluşturmanızı isteyecektir. Yönergeleri izleyerek bir "kullanıcı adı ve şifre" oluşturun ve ardından oturum açın. ****Bu parola en az 12 karakter olmalıdır.
  2. Docker Ortamının Yapılandırılması: Portainer'a giriş yaptıktan sonra, Docker ortamınızın yapılandırılması için bazı adımları izlemeniz gerekebilir. Bu adımlar genellikle Docker bağlantısı, API anahtarları vb. ile ilgilidir. Portainer, Docker sunucusuna bağlanmanızı sağlayacak talimatları size sunacaktır.

Portainer Web Arayüzü:

  1. Dashboard: Portainer'ın ana sayfasıdır ve sistemde çalışan Docker konteynerlarının bir özetini gösterir. Konteynerlerin durumu, ağlar, görüntüler, birimler ve diğer önemli bilgiler burada görüntülenir.
  2. Containers: Bu bölümde mevcut Docker konteynerlarını görüntüleyebilir, yeni konteynerlar oluşturabilir, çalıştırabilir, durdurabilir ve silme işlemleri yapabilirsiniz. Konteynerlerin durumu, kullanılan kaynaklar ve ağ bilgileri gibi ayrıntıları da görebilirsiniz.
  3. Images: Docker görüntülerini yönetmek için kullanılır. Bu bölümde mevcut görüntüleri görüntüleyebilir, yeni görüntüler indirebilir veya mevcut görüntülerden yeni konteynerlar oluşturabilirsiniz. Ayrıca görüntülerin etiketleri, boyutları ve diğer özellikleri de görüntülenebilir.
  4. Networks: Docker ağ yapılandırmalarını yönetmek için kullanılır. Bu bölümde mevcut ağları görüntüleyebilir, yeni ağlar oluşturabilir ve konteynerleri bu ağlara bağlayabilirsiniz. Ağ ayarlarını düzenleyebilir, IP adreslerini görüntüleyebilir ve ağlara ilişkin diğer yapılandırmaları yapabilirsiniz.
  5. Volumes: Docker birimlerini yönetmek için kullanılır. Bu bölümde mevcut birimleri görüntüleyebilir, yeni birimler oluşturabilir ve birimler arasında veri paylaşabilirsiniz. Ayrıca birimlerin bağlantılarını düzenleyebilir, veri hacmini görüntüleyebilir ve birimlere ilişkin diğer yapılandırmaları yapabilirsiniz.
  6. Stacks: Docker Stack'lerini oluşturmak ve yönetmek için kullanılır. Bir Stack, birden fazla konteyneri içeren ve bunları bir arada çalıştıran bir yapıdır. Bu bölümde mevcut Stack'leri görüntüleyebilir, yeni Stack'ler oluşturabilir, Stack'leri başlatabilir, durdurabilir ve silme işlemleri yapabilirsiniz.
  7. Settings: Portainer'ın genel yapılandırmasını yapabileceğiniz bölümdür. Bu bölümde kullanıcı hesaplarını yönetebilir, Docker sunucusuna bağlanma ayarlarını düzenleyebilir, kaynak kullanımını yapılandırabilir ve diğer Portainer ayarlarını değiştirebilirsiniz.

Containerlar’a Shell ile bağlanmak: (Exec Console & Attach)

Portainer üzerinden herhangi bir Containera shell ile bağlanmak için aşağıdaki adımları izleyebilirsiniz:(Ben Nginx containerine bağlandım)

  1. Nginx konteynerinin bulunduğu satırı bulun ve "Quick Actions" (Hızlı İşlemler) bölümündeki "Exec Console" (Kabukta Yürüt) düğmesine tıklayın.
  2. "Exec Console" düğmesine tıkladığınızda bir pencere açılacaktır ve karşınıza birkaç seçenek çıkacaktır. Bağlanmak istediğiniz kabuğu seçebilirsiniz. Genellikle "bash" kabuğu kullanılır.
  3. "bash" kabuğunu seçtikten sonra "Connect" (Bağlan) düğmesine tıklayın. Bu, seçtiğiniz kabuğa doğrudan bağlanmanızı sağlayacaktır.
  4. Ardından, Nginx konteynerinin içinde bir terminal açılacak ve istediğiniz komutları burada çalıştırabileceksiniz.

Bu şekilde Portainer üzerinden Nginx konteynerine bağlanabilir ve içindeki kabuğa erişebilirsiniz. Bu şekilde yapılandırma dosyalarını düzenleyebilir veya diğer işlemleri gerçekleştirebilirsiniz.

#Nginx Container’ımızı güncellemek , gereli configleri yapabilmek için "Nano Editor" yükleyelim: (Ben nano tercih ettim)
apt update && apt install nano

#NGINX publish yoluna gitmek için:
cd /usr/share/nginx/html

#index.html dosyasını editlemek için:
nano/usr/share/nginx/html/index.html

#Nginx yapılandırma dosyasının doğruluğunu kontrol etmek için:
sudo nginx -t -c /etc/nginx/nginx.conf

Umarım faydalı olmuştur, Saygılarımla.

This post is licensed under CC BY 4.0 by the author.