İlginizi Çekebilir
  1. Ana Sayfa
  2. DevOps
  3. Portainer Nedir ? Kurulum ve Konfigürasyonu Nasıl Yapılır ?

Portainer Nedir ? Kurulum ve Konfigürasyonu Nasıl Yapılır ?

012421_1520_PortainerNe2.jpg

Portainer, Docker ve Docker Swarm ortamımıza dair aklımıza gelebilecek herşeyi yönetmemizi sağlayan bir yönetim arayüzüdür.

Docker’ı terminalden kullanmak istemiyorsak (terminalden kullanmak ne kadar ayrı bir zevk olsada :D) ve işlerimizide biraz daha hızlandırmak ve kolaylaştırmak istiyorsanız portainer tam aradığınız bir uygulamadır.

Sadece terminal kullanmamak için kullandığımız bir uygulama olarak adlandırmak yanlış olur başka ne özellikler sağlar sıralamak gerekirse;

  1. Grup oluşturup bu gruplara kullanıcı atayabilirsiniz ve yetkilendirmeler sağlayabilirsiniz (Burada da gruplar arası bi izole ortam yapabiliyoruz J.
  2. Containerlara dair monitoring sağlayabilirsiniz.
  3. Container loglarını dashboard sayesinde izleyebilir ve download ederek analiz sağlayabilirsiniz.

Portainer’ın özelliklerinden bahsettiğimizde göre kurulum aşamasına geçebiliriz.

Kurulum ve Konfigürasyon Nasıl Yapılır ?

Portainer’ı ortamımıza docker image olarak kuracağız ben Centos 7 sunucumda bu işlemleri gerçekleştiriyorum ve docker-compose ile uygulamayı kuracağım için çalıştıracağınız sunucuda docker’ın yanında docker-compose’unda yüklü olması gerekmektedir.

Docker tarafında kurulumlar aşağıda ki gibidir.

Docker

  • İlk etapta volume oluşturalım.

docker volume create portainer_data

  • Docker run ile uygulamayı ayağa kaldıralım.

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

Docker-Compose

Docker-compose.yml adında dosya oluşturup aşağıda kileri dosya içine kopyalayınız ve docker-compose up –d komutu ile compose’u ayağa kaldırabilirsiniz.

version: ‘3.3’

services:

portainer:

image: portainer/portainer-ce

restart: always

container_name: portainer

ports:

– “8000:8000”

– “9999:9000”

volumes:

– /var/run/docker.sock:/var/run/docker.sock

– portainer_data:/data

volumes:

portainer_data:

Docker Swarm

curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml

Ben docker-compose ile uygulamanın kurulumu sağlıyorum.


Resim-1

Not: Compose verisyonu docker daemon ile uyumlu olmalıdır, uyumluluk kontrolünü bu linkten sağlayabilirsiniz

Link : https://docs.docker.com/compose/compose-file/compose-versioning/

Kurulumları tamamladığımıza göre artık portainer’ı kullanmaya başlayabiliriz.

Ben 9999 portu ile uygulamayı ayağa kaldırdım http:\\sunucuip:9999’u tarayıcımıza yazalım, karşımıza aşağıda ki gibi ekran çıkacaktır.


Resim-2

Bu ekranda ilk kullanıcı bilgilerimizi oluşturuyoruz ve “create user” diyerek devam ediyoruz.

Şimdi ki ekranda portainer üzerinden yöneteceğimiz docker ortamını belirliyoruz ben ilk etapta portainer’ı kurduğum sunucu üzerinde bu işlemi sağlayacağım bir sonra ki aşamada agent kurulumu ile uzak sunucuda ki ortamlarıda buraya dahil edebileceğiz.


Resim-3

Connect dedikten sonra karşımıza aşağıda ki gibi ekran gelmektedir, Localde ki docker ortamımız portainer üzerinden yönetilmeye hazır.


Resim-4

Portainer’ın içeriğine tam giriş yapmadan uzak sunucuda ki ortamlarımızıda dahil edelim.

Ekrannın sol tarafında “Endpoints” kısmına giriş yapalım ve üstteki ” Add Enpoint”e tıklayınız.


Resim-5

Burada agent tipini belirliyoruz ben linux ortamına docker swarm olarak kurulum sağlayacağım sizlerde ortamınıza uygun olarak diğer seçenekleride değerlendirebilirsiniz.

Docker Swarm’ı seçtiğinizde aşağıda çıkan ilgili kodu kurmak istediğiniz sunucunun terminal ekranında çalıştırınız.

Not: docker swarm ı ilk defa kullanıyorsanız “docker swarm init” diyerek swamı çalıştırınız.


Resim-6

Dosyayı sunucuya upload etti ve ilgili network ile servisi docker da oluşturduk şimdi sıra stack’i ayağa kaldırmakta bunun içinde aşağıda ki komutu çalıştırınız.

” docker stack deploy –compose-file=portainer-agent-stack.yml portainer ”


Resim-7

9001 portu ile agent ayağa kalktı şimdi tekrardan Endpoint kısmına dönüyoruz bu işlemi tamamlamadan önce iki sunucu arasında erişim olup olmadığını kontrol etmenizi öneririm.


Resim-8

Komutu kopyaladığımız sayfanın altında yukarıda ki bilgileri girmemiz gereklidir ilgili Agent’a tag belirleyebilir ve gruba dahil edebilirsiniz.

Burada şuan gruba dahil edemiyoruz grup oluşturma işlemini aşağıda bahsettiğim user kısmından yapabilirsiniz.

Bilgileri doldurduktan sonra Add Enpoint’e tıklayınız ve Agent ekranımızda gözükmektedir.


Resim-9

Eveeet local ve uzak sunucu kurulumlarımız tamam artık portainer’dan yararlanmanın vakti. J

Sol tarafta ki menüden başlayalım.


Resim-10

Home : Ana Sayfa’ya erişmemizi sağlar.

Users: Grup ve kullanıcıları buradan erişebilir ve oluşturabilirsiniz.

Endpoints: Uzak sunucu kurulumlarını buradan sağlayabilirsiniz.

Registries : DockerHub’ınızı veya diğer güvenli kayıt alanlarınızı buradan tanımlayabilirsiniz.

Settings : Portainer’a dair ayarlara buradan erişebilirsiniz.

Bu menüyü bitirdiğimize göre Home diyelim ve karşımızdaki ekranda ki herhangi bir sunucunun üstüne tıklayarak giriş yapalım.

Bütün süreçleri yöneteceğimiz ekran sonunda karşımızda sunucu içerisinde çalışan docker’a dair herşeyi bize göstermektedir.


Resim-11

Sol tarafta ki menüyü incelemeye başlamadan önce aşağıda belirttiğim tüm alanlarda docker adına ekrandan container,volume,network kurulumlarınıda sağlayabilirsiniz.

Dashboard: Yukarıda karşımıza çıkan ekrandır buradan yapımızı dashboard halinde görüntüleyebiliyoruz.

App Temlates: İlgili sunucuda buradan image seçerek deploy işlemini sağlayabiliriz bunu bir örnek ile aşağıda anlatacağım.

Stacks: Docker swarm ve compose ile oluşturduğumuz containerları buradan görüntüleyebiliriz.

Services: Servis olarak ayağa kaldırdığımız containerları buradan görüntüleyebiliriz.

Containers: Tüm containerlara buradan ulaşabiliriz.

Images: Oluşturmuş olduğumuz imajlara bu kısımdan ulaşabiliriz.

Networks: Docker içinde oluşturulmuş networkleri görüntüleyebiliriz.

Volumes: Docker içinde oluşturulmuş volumleri görüntüleyebiliriz.

Configs: Eklemek istediğimiz bir config durumu var ise buradan oluşturabiliriz.

Secrets: Secret Key oluşturmak için.

Swarm: Swarm node un süreçleri için bu kısımdan işlem sağlayabiliriz.

Settings : Bu kısmı yukarıda incelemiştik.

Menü tarafını kaba taslak anlattık adlarından da nerede ne işlem yaptığımız çok açık portainer’ın en sevdiğim yanlarından biride kullanımın kolay ve erişilebilir olmasıdır.

App Templates

App Templates kısmında image belirleyip oradan da deploy sağlayabileceğimizden bahsetmiştim gelin bir örnek yapalım.


Resim-12

Karşımıza çıkan imagelardan brini seçelim ben ” httpd” imajını seçiyorum ve container adını girerek bridge networkünde de çalışacağını belirterek aşağıda deploy tuşuna tıklıyorum.


Resim-13

Kontrol sağladığımda container ayağa kalktı


Resim-14

İlgili porta tarayıcıdan erişmek istediğimde ;


Resim-15

Çalışıyor J

App Templates kısmını kısaca anlattım ama containerda farklı işlemlerde sağlamak isterseniz ” Show Advanced Options” diyerek aşağıda ki ekranı görüntüleyebilirsiniz.


Resim-16

Containers

En sevdiğim kısımlardan diğerine gelelim log kayıtlarını izleme ve container içine bağlanma! Bu işlemler için sol menüden containers’a giriş yapınız.


Resim-17

Bu kısımdan ilgili containerları durdurabilir silebilir restartlayabilirsiniz. En çok kullanacağımız alan “Quick Actions” kısmı o kısımda olan simgeler soldan itibaren;


Logs : Log kayıtlarına erişebileceğimiz alan.


Resim-18

Inspect: Container’a dair detayları buradan inceleyebilirsiniz.


Resim-19

Stats: Container’a dair memory,CPU ve network kullanımı ve çalışan süreçleri monitoring yapabileceğimiz kısımdır.


Resim-20

Exec Console: Container’ın içine bağlantı alanına buradan erişebilirsiniz.


Resim-21


Resim-22

Sizlere elimden geldiğince portainer’dan bahsetmeye çalıştım umarım işinize yarar.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs:

Yorum Yap

Yazar Hakkında

İstanbul doğumluyum. 2013 senesinde Lise stajında Türkiye İş Bankası GM'de başlayan maceram şuan Xinerji Software şirketinde DevOps Architect olarak devam etmektedir. Bu süreç aralığında çalıştığım diğer firmalar, LG Electronics GM - Europ Assistance Türkiye GM - Glasshouse - bestcloudfor.me ( Vodafone Türkiye Outsource). Kariyer yolculuğumu DevOps üzerine yoğunlaştırdım ve bu alanda çalışmalar gerçekleştirmekteyim.

Yorum Yap