Linux etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Linux etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

13 Şubat 2025 Perşembe

Kubernetes ile Mikro Hizmetlerin Yönetimi: Gelişmiş Teknikler

Kubernetes ile Mikro Hizmetlerin Yönetimi: Gelişmiş Teknikler

Kubernetes, günümüzde ölçeklenebilir ve yönetilebilir mikro hizmet mimarileri oluşturmak için en yaygın kullanılan araçlardan biri haline gelmiştir. Ancak, temel pod ve servis yönetiminin ötesine geçerek daha verimli ve güvenli bir yapı oluşturmak için bazı gelişmiş teknikleri bilmek gerekir. Bu yazıda, Kubernetes kullanarak mikro hizmetlerinizi daha iyi yönetmek için bazı ileri düzey teknikleri inceleyeceğiz.

1. Kubernetes ile Otomatik Ölçeklendirme (HPA ve VPA)

Kubernetes, ölçeklendirme işlemini otomatik hale getirmek için Horizontal Pod Autoscaler (HPA) ve Vertical Pod Autoscaler (VPA) olmak üzere iki ana mekanizma sunar.

  • HPA (Yatay Pod Ölçeklendirme): Belirli metriklere (CPU, bellek vb.) bağlı olarak pod sayısını artırıp azaltır.
  • VPA (Dikey Pod Ölçeklendirme): Podların CPU ve bellek sınırlarını otomatik olarak günceller.

Eğer trafiğiniz öngörülemeyen bir şekilde artıp azalıyor ise HPA kullanarak anlık yük değişimlerine uyum sağlayabilirsiniz. Öte yandan, eğer belirli podların CPU veya bellek limitleri yetersiz geliyorsa VPA kullanarak her bir podun kaynaklarını optimize edebilirsiniz.

2. Servis Mesh Kullanımı (Istio ve Linkerd)

Mikro hizmet mimarilerinde servisler arasındaki iletişimi yönetmek oldukça karmaşık olabilir. Servis Mesh çözümleri, ağ trafiğini yönlendirme, gözlemleme ve güvenlik politikaları oluşturma konusunda büyük avantajlar sunar.

  • Istio: En yaygın kullanılan servis mesh teknolojisidir. API yönetimi, güvenlik, gözlemleme ve yük dengeleme gibi özellikler sunar.
  • Linkerd: Hafif ve kolay kullanılabilir bir servis mesh alternatifidir.

Eğer Kubernetes kümenizde servisler arası güvenliği artırmak ve merkezi bir gözlemleme sistemi kurmak istiyorsanız Istio veya Linkerd kullanabilirsiniz.

3. GitOps ile Kubernetes Konfigürasyon Yönetimi

Kubernetes ortamlarında konfigürasyon yönetimini daha güvenli ve hatasız bir şekilde yapmak için GitOps yaklaşımı kullanılabilir. GitOps, Kubernetes manifest dosyalarınızı bir Git deposunda saklayarak değişikliklerin yönetimini sağlar.

  • ArgoCD ve FluxCD gibi araçlar, Git deposundaki değişiklikleri takip ederek Kubernetes kümenizi otomatik olarak senkronize eder.
  • Konfigürasyon değişikliklerini sürüm kontrolü altında tutarak hata yönetimini kolaylaştırır.

Eğer sürekli entegrasyon ve teslimat (CI/CD) süreçlerinizi Kubernetes ile uyumlu hale getirmek istiyorsanız, GitOps yaklaşımını değerlendirebilirsiniz.

Sonuç

Kubernetes, mikro hizmetlerin yönetimi için güçlü bir platform sunarken, gelişmiş teknikler ile verimliliğinizi ve güvenliğinizi artırabilirsiniz. Otomatik ölçeklendirme, servis mesh kullanımı ve GitOps ile konfigürasyon yönetimi gibi yöntemlerle Kubernetes kümelerinizi daha iyi optimize edebilirsiniz.

Kubernetes'in sunduğu bu özellikleri daha etkin kullanarak, uygulamalarınızı daha ölçeklenebilir ve yönetilebilir hale getirebilirsiniz.

6 Şubat 2025 Perşembe

Linux Üzerinde WireGuard VPN Kurulumu ve Konfigürasyonu

VPN (Virtual Private Network) kullanımı, internet üzerindeki güvenliği ve gizliliği sağlamak açısından büyük önem taşır. OpenVPN ve IPSec gibi geleneksel VPN protokollerine alternatif olarak geliştirilen WireGuard, hafif, hızlı ve modern bir VPN çözümü sunar. Bu yazıda, WireGuard VPN’in Linux üzerinde nasıl kurulacağını ve yapılandırılacağını adım adım ele alacağız.

WireGuard Nedir?

WireGuard, Linux çekirdeğine entegre edilmiş, açık kaynaklı ve performans açısından oldukça verimli bir VPN protokolüdür. Diğer VPN çözümlerine kıyasla daha basit bir yapı sunar ve daha yüksek hızlar sağlar. Güvenlik açısından güçlü kriptografik algoritmalar kullanır ve düşük gecikme süresi ile bilinir.

WireGuard VPN Kurulumu

1. WireGuard Kurulumu

WireGuard, modern Linux dağıtımları için varsayılan paket yöneticileri ile kolayca yüklenebilir.

sudo apt update  
sudo apt install wireguard

CentOS/RHEL için:

sudo yum install epel-release  
sudo yum install wireguard-tools

Arch Linux için:

sudo pacman -S wireguard-tools

2. Anahtar Çiftinin Oluşturulması

WireGuard, her istemci için özel ve genel anahtar çiftleri gerektirir. Aşağıdaki komutlar ile gerekli anahtar çiftlerini oluşturabilirsiniz:

wg genkey | tee privatekey | wg pubkey > publickey

Bu işlem sonucunda, privatekey ve publickey adlı iki dosya oluşturulacaktır.

3. VPN Arayüzünün Yapılandırılması

WireGuard’ın arayüzünü ayarlamak için /etc/wireguard/wg0.conf dosyasını oluşturun ve aşağıdaki yapılandırmayı ekleyin:

[Interface]  
PrivateKey = ÖZEL_ANAHTAR  
Address = 10.0.0.1/24  
ListenPort = 51820  

[Peer]  
PublicKey = İSTEMCİ_GENEL_ANAHTAR  
AllowedIPs = 10.0.0.2/32

Daha sonra WireGuard servisini etkinleştirmek için şu komutları çalıştırın:

sudo systemctl enable wg-quick@wg0  
sudo systemctl start wg-quick@wg0

WireGuard VPN Kullanımı

VPN bağlantısını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:

sudo wg show

Bağlantıyı manuel olarak açmak için:

sudo wg-quick up wg0

Bağlantıyı kapatmak için:

sudo wg-quick down wg0

Sonuç

WireGuard, Linux sistemlerinde VPN bağlantısı kurmak isteyen kullanıcılar için hızlı ve güvenli bir alternatif sunar. Kurulumun ve konfigürasyonun basit olması, sistem kaynaklarını daha verimli kullanması ve yüksek performans sağlaması sayesinde tercih edilen bir VPN çözümüdür. Bu rehberde adım adım WireGuard kurulumunu gerçekleştirdik ve temel konfigürasyon ayarlarını yaptık. Daha fazla güvenlik önlemi almak için ek firewall kuralları ve erişim kontrolleri ekleyebilirsiniz.

İlgili Görseller

VPN


30 Ocak 2025 Perşembe

Windows ve Linux Üzerinde Docker Kullanımı: Hangi İşletim Sistemi Daha Avantajlı?

Docker, uygulamaları izole bir ortamda çalıştırmak için kullanılan bir konteyner teknolojisidir. Linux çekirdeği üzerine inşa edilen Docker, Windows ve Linux platformlarında farklı şekillerde çalışır. Bu yazıda, iki işletim sistemi üzerindeki Docker kurulumunu, avantajlarını ve dezavantajlarını karşılaştıracağız.

1. Docker'ı Windows ve Linux Üzerinde Kurmak

Linux: Docker, Linux üzerinde doğrudan çalışır. Kurulum için aşağıdaki komutları kullanabilirsiniz:

sudo apt update
sudo apt install docker.io
sudo systemctl enable --now docker

Windows: Docker, Windows üzerinde Hyper-V veya WSL 2 gerektirir. Docker Desktop'ı Docker’ın resmi sitesinden indirebilirsiniz.

2. Windows ve Linux Üzerinde Docker Performansı

  • Linux: Docker doğrudan Linux çekirdeğini kullandığı için performansı yüksektir.
  • Windows: Docker, Windows üzerinde sanallaştırma katmanı kullandığı için Linux’a göre biraz daha yavaştır.

3. Hangi İşletim Sistemi Daha Avantajlı?

Linux Kullanıcıları İçin: Daha hızlı performans ve doğrudan destek sağlar.

Windows Kullanıcıları İçin: WSL 2 ile kullanılabilir ama ekstra kaynak tüketebilir.

Genel olarak, eğer Docker’ı en verimli şekilde kullanmak istiyorsanız Linux daha iyi bir seçenektir. Ancak, Windows kullanıcıları da WSL 2 sayesinde Docker’dan faydalanabilir.

Windows


23 Ocak 2025 Perşembe

Windows 11 Üzerinde WSL 2 Kurulumu ve Linux Terminaline Geçiş

Microsoft’un Windows Subsystem for Linux (WSL) teknolojisi, geliştiriciler için Windows ortamında Linux dağıtımları çalıştırmayı kolaylaştırıyor. WSL 2, geliştirilmiş performansı ve tam bir Linux çekirdeğiyle daha güçlü bir çözüm sunuyor. Bu makalede, WSL 2’yi nasıl kurabileceğinizi ve Linux terminalini Windows 11 üzerinde nasıl kullanacağınızı anlatıyoruz.

WSL 2’nin Avantajları

  • Yerel Linux dosya sistemi desteği
  • Gelişmiş performans ve uyumluluk
  • Docker ve Kubernetes gibi araçlarla sorunsuz entegrasyon

WSL 2 Kurulum Adımları

1. Gerekli Özelliklerin Aktifleştirilmesi

İlk olarak, Windows Özellikleri menüsünü açın ve "Windows Subsystem for Linux" ve "Virtual Machine Platform" seçeneklerini etkinleştirin. Bunu yapmak için:

  1. Windows arama çubuğuna “Windows Özellikleri” yazın ve menüyü açın.
  2. Listeden yukarıdaki iki özelliği işaretleyin ve sistemi yeniden başlatın.

2. WSL Versiyonunun Güncellenmesi

Komut İstemcisi’ni (CMD) yönetici olarak çalıştırın ve şu komutu yazın:

 wsl --set-default-version 2 

3. İstediğiniz Linux Dağıtımını Yükleyin

Microsoft Store’u açın ve Ubuntu, Debian ya da tercih ettiğiniz bir Linux dağıtımını indirin. Kurulum tamamlandıktan sonra dağıtımı açarak kullanıcı adınızı ve şifrenizi oluşturun.

4. WSL 2’ye Geçiş Yapın

Yüklenen dağıtımın WSL 2 kullanacak şekilde ayarlandığından emin olmak için şu komutu kullanabilirsiniz:

 wsl --set-version  2 

Linux Terminalini Kullanma

Kurulum tamamlandığında, Windows Terminal uygulaması üzerinden Linux dağıtımınıza erişebilirsiniz. Bu terminal, özelleştirilebilir temaları ve sekme desteğiyle verimliliğinizi artırır.

Sonuç

WSL 2, Windows kullanıcıları için Linux’un gücünü keşfetmek ve geliştirme süreçlerini optimize etmek için harika bir araçtır. Özellikle geliştiriciler ve sistem yöneticileri için büyük bir avantaj sunar.

Eğer bu adımları takip ederken sorun yaşarsanız, yorumlarda paylaşabilirsiniz. Linux dünyasına hoş geldiniz!

VSL


16 Ocak 2025 Perşembe

Linux Firewall Yonetimi

Linux sunucularında güvenliği artırmanın en önemli yollarından biri, güçlü bir firewall (güvenlik duvarı) yapılandırması yapmaktır. Bu makalede, UFW (Uncomplicated Firewall) aracıyla temel ve ileri seviye firewall kurallarının nasıl oluşturulacağını anlatacağız.

1. UFW Kurulumu

Debian tabanlı sistemlerde UFW genellikle varsayılan olarak yüklü gelir. Ancak kontrol etmek ve gerekirse yüklemek için aşağıdaki komutları kullanabilirsiniz:

sudo apt update
sudo apt install ufw

2. UFW'nin Aktif Edilmesi

Firewall'ı etkinleştirmek için şu komutu çalıştırın:

sudo ufw enable

Bu işlem sırasında mevcut SSH bağlantınızın kesilmemesi için gerekli kuralları önceden eklediğinizden emin olun.

3. Temel Kuralların Eklenmesi

Ağ trafiğini yönetmek için bazı temel kurallar oluşturabilirsiniz:

  • SSH bağlantısını izin vermek:
  • sudo ufw allow ssh
  • Belirli bir portu (örneğin 80 numaralı HTTP portu) açmak:
  • sudo ufw allow 80
  • Belirli bir IP adresini engellemek:
  • sudo ufw deny from 192.168.1.100

4. İleri Seviye Kurallar

Belirli durumlar için daha detaylı kurallar yazabilirsiniz:

  • Belirli bir IP'den yalnızca belirli bir porta erişimi izin vermek:
  • sudo ufw allow from 192.168.1.100 to any port 22
  • Belli bir portu sadece TCP trafiği için açmak:
  • sudo ufw allow 443/tcp

5. UFW Durumunu Kontrol Etme

Firewall kurallarını görmek için şu komutu çalıştırabilirsiniz:

sudo ufw status

Çıktı, aktif olan tüm kuralları gösterecektir.

Sonuç

UFW, Linux sunucularında güvenliği artırmanın basit ve etkili bir yoludur. Yukarıdaki adımları takip ederek temel ve ileri düzey firewall kuralları oluşturabilir, sisteminizi dış tehditlere karşı koruyabilirsiniz.


Firewall


5 Ekim 2024 Cumartesi

Multipass Eğitimi Yakında

 Multipass ile ilgili hem bilgilerimi pekiştirmek hem de Linux eğitimine yeni başlayacaklar için bir doküman ve eğitim hazırlığı içerisindeyim. Adım adım bir sanal makine nasıl oluşturulur ve konfigürasyonları değiştirilir, basit işlemler ve Linux komutlarına giriş gibi temel bir eğitim hazırlığı içerisindeyim. Fırsat olursa öncelikle dokümanı bitireceğim ve sonra da bir video eğitimi ile bu dokümanı desteklemeyi deneyeceğim. Güzel bir fikir henüz multipass ile ilgili çok fazla Türkçe kaynakta olmadığı için iyi olacağını düşünüyorum. Bakalım bir iki aya çalışmayı bitirmeyi düşünüyorum. Tekrar buradan duyuru yaparım. Şimdilik görüşmek üzere :)

29 Ağustos 2024 Perşembe

Multipass Görsel Arayüz Güncelleştirmesi Geldi

 Bir süredir kullandığım Ubuntu sanallaştırma uygulaması olan multipass için kullanıcı arayüzü deneyimi yayınlandı. Yeni yayınlanan güncelleşirme ile artık GUI kullanarak dileğiniz gibi sanal makinelerinizi yönetebilir ve birkaç tıklama ile yeni bir işletim sistemi ayağa kaldırabilirsiniz. Tek kelime ile harika bir güncelleme olmuş. Mutlaka deneyin.

Multipass

1 Ağustos 2024 Perşembe

Linux İşletim Sisteminde Temel Görevleri Gerçekleştirme

 Linux, açık kaynaklı ve ücretsiz bir işletim sistemidir. Pek çok kullanıcı tarafından tercih edilmesinin nedeni, yüksek esneklik, güvenlik ve performans sunmasıdır. Bu makale, Linux üzerinde sıklıkla ihtiyaç duyulan temel görevlerin nasıl gerçekleştirileceğini anlatmaktadır.


Dosya ve Dizin İşlemleri


Linux'ta dosya ve dizinleri yönetmek için aşağıdaki komutları kullanabilirsiniz:


ls: Bulunduğunuz dizindeki dosya ve dizinleri listeler. 
cd: Dizinler arasında gezinmek için kullanılır. Örneğin, cd /home/kullaniciadi komutu home dizinine gider. 
mkdir: Yeni bir dizin oluşturur. Örneğin, mkdir yeni_dizin komutu yeni_dizin adlı bir dizin oluşturur. touch: Yeni bir boş dosya oluşturur. Örneğin, touch yeni_dosya.txt komutu yeni_dosya.txt adlı bir dosya oluşturur. 
rm: Dosya veya dizin siler. Örneğin, rm yeni_dosya.txt komutu yeni_dosya.txt dosyasını siler. 
cp: Dosya veya dizin kopyalar. Örneğin, cp dosya1.txt /home/kullaniciadi/dosya2.txt komutu dosya1.txt'yi home dizinindeki dosya2.txt olarak kopyalar. 
mv: Dosya veya dizin taşır veya yeniden adlandırır. Örneğin, mv dosya1.txt /home/kullaniciadi/yeni_ad.txt komutu dosya1.txt'yi home dizinindeki yeni_ad.txt olarak taşır. 

Paket Yönetimi
 
Linux dağıtımlarında paket yönetimi, yazılım kurulumu ve güncellenmesi için kullanılır. Paket yöneticileri, bağımlılıkları otomatik olarak yönetir. 

Başlıca paket yöneticileri şunlardır: 

Debian tabanlı dağıtımlar (Ubuntu, Mint vb.): apt veya apt-get 
Red Hat tabanlı dağıtımlar (CentOS, Fedora vb.): yum veya dnf 
Arch Linux: pacman 

Örneğin, Ubuntu'da Firefox tarayıcısını kurmak için sudo apt install firefox komutunu, CentOS'ta ise sudo yum install firefox komutunu kullanabilirsiniz. 

 Metin Editörü Kullanımı 

Linux'ta metin düzenlemek için sıklıkla kullanılan editörler: 

Vim: Güçlü ve karmaşık bir komut satırı editörüdür. Klavye kısayolları kullanılarak verimli bir şekilde çalışılabilir.
Emacs: Benzer şekilde güçlü ve özelleştirilebilir bir editördür. Farklı modlarıyla çeşitli görevler için kullanılabilir. 
Gedit: Grafik arayüzlü, basit ve kullanımı kolay bir editördür. 

Örneğin, Vim editöründe bir dosya açmak için vim dosya.txt komutunu, dosyayı kaydetmek ve çıkmak için :wq komutunu kullanabilirsiniz. 

 Bu temel Linux görevleri, işletim sistemi kullanımını hızlı ve verimli hale getirecektir. Daha fazla komut ve işlem için çevrimiçi kaynaklara başvurabilirsiniz.

27 Şubat 2024 Salı

FortiClient'ı Sudo Yetkileri ile Kaldırma

  1. sudo rm -rf /Applications/FortiClient.app

Çeşitli Yöntemlerle Bilgisayarın Seri Numarasını Öğrenme?

 Windows cmd ile:

wmic bios get serialnumber

Linux bash ile:

sudo dmidecode -s system-serial-number

Macbook Terminal:

system_profiler SPHardwareDataType | awk '/Serial/ {print $4}'

27 Ağustos 2023 Pazar

HomeBrew Path Hatası Çözümü ve Macbook'a Ubuntu Kurmanın En Kolay Yolu

Ubuntu için multipass ve paket yönetimi içinde bilgisayarıma homebrew kurmaya çalışırken path hatasıyla karşılaştım. Bu hata aslında homebrew'in kurulduğunu ancak PATH ayarlarının yapılmadığını söylüyordu. Aldığım hatanın tam olarak metni ve ekran görüntüsü aşağıdaki gibi:


Warning: /opt/homebrew/bin is not in your PATH.
Instructions on how to configure your shell for Homebrew can be found in the 'Next steps' section below. ==> Installation successful!

Dolayısı ile macbook terminal üzerinde brew --version komutunu çalıştırdığımda yanıt alamıyordum. PATH ayarlarının yapılandırılması gerekiyordu.

Homebrew'i ilk kurarken kullandığım komutu unutmadan buraya ekleyeyim, zaten kendi web sitelerinde var ama blogda da dursun fena olmaz arkadaşlar.

$/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

PATH ayarlarını yapmak için kullandığım adımlar sırasıyla aşağıdaki gibidir:


İlk olarak zshrc dosyası oluşturulur, terminali kullanarak bu adımlara devam ediyoruz:
$touch ~/.zshrc

Ardından dosyayı düzenlemek için code veya bir metin editörüyle içerisine giriyoruz, ben nano kullanarak yapmayı tercih ettim:
$nano ~/.zshrc

Ardından içerisine aşağıdaki bilgileri ekleyip kaydederek çıkıyoruz, macte kaydetmek için Control+X ve YES kombinasyonunu kullanmanız gerekiyor:
$export PATH="/opt/homebrew/bin:$PATH"

son olarak yaptığımız değişiklikleri yüklemek için bu komutu çalıştırıyoruz:
$source ~/.zshrc

Artık path işlemi gerçekleşmiş olmalı ve terminale aşağıdaki komutu girerek homebrew yüklü sürümümüzü gözlemleyebilir ve bash komutlarını direkt terminalde kullanabiliriz:
$brew --version







Artık terminale bash komutu yazıp enter yaptıktan sonra kabuk arayüzüne geçerek diğer kurulumlarıma geçebilirim. Bu aşamadan önce multipass uygulamasını da ubuntu sitesinden indirip kurdum ve devamında bash üzerinde çalıştırdığım diğer komutları aşağıda listeliyorum:

$brew install qemu
$multipass help

Bu ekran lazım olabilir dursun burada:



$multipass version
$multipass launch -c 2 -m 2GB -d 30GB









Müthiş, harika bir kolaylık. Tek bir komutla ubuntu makinesi açıyorsunuz resmen. Virtualbox'la vs. dakikalarca uğraşmanıza gerek yok. Tek bir komut ve ubuntu elimin altında. Artık bundan sonrası RDP ile veya SSH ile veya canımız nasıl istiyorsa bağlanıp istediğimiz gibi ubuntuyu kullanmak kalıyor geriye.

Bu arada cihazlardan birini silmeyi denedim, bu komutu kullandım:
$multipass delete primary
Silme işleminin kalıcı olarak gerçekleşmesi için ek olarak buradaki komut çalıştırılır:
$multipass purge

instance ile ilgili bilgi almak için:
$multipass info unruffled-ghoul

Ve artık $multipass shell unruffled-ghoul komutunu yazarak kabuk üzerinden direkt ubuntunun shell ekranına salileser içerisinde geçiş yapabiliyoruz, hıza bakın bu inanılmaz bir şey değil mi?



$cat /etc/lsb-release
$sudo apt update
$sudo apt install neofetch
$neofetch

Eğer masaüstü ubuntu deneyimine geçmek istersek bu komut ile desktop özelliğini aktifleştirebiliyoruz, yani yükleme yapabiliyoruz.

$sudo apt install ubuntu-desktop xrdp 
$sudo passwd ubuntu
$ip a

Geriye ssh ile veya direkt multipass uygulaması kısayolu üzerinden shell linki ile tek tıklamayla sunucuya erişmeye veya RDP yaparak cihaza erişmeye kalıyor. Hepsi bu kadar.

2 Nisan 2023 Pazar

pyuic ile python (.py) Dosya Dönüştürme Hatası Çözümü

 PyQt5 ile hazırladığım bir formu MainWindows.ui dosyasını python dosyasına dönüştürmek istiyorum ancak dizinde .ui dosyasını görmüyor veya dönüştürme işlemi yapılsa bile dosyanın içeriğine bakıyorum herhangi bir kod gözükmüyor. Bunu çözmek için dönüştürmek istediğim .ui dosyasını shift tuşuna basılı turarak power shell ile açtım ve aşağıdaki kodu burada çalıştırarak kodların dönüştürülmesini sağladım. 

python -m PyQt5.uic.pyuic -x MainWindows.ui -o MainWindows.py


29 Mart 2023 Çarşamba

Docker İmajları Export Etme ve Sanal Sunucudan Dışarıya Yedekleme - Backup SCP Copy

İmajları yedek aldım ve VirtualBox üzerindeki yedek dosyasını test olması için önce windows makineme sonra tekrar geriye sunucuya aktarıp orada yükleme işlemini yani load işlemini gerçekleştirdim. Aşırı keyif aldım aşırı :)

Kullandığım bazı komutlar:

#Docker imajları dışarıya export ettirme
docker save alpine:3.12 -o /home/imajlar/alpine.tar
docker stop Deneme1 #Senaryo için konteyner durduruldu ve ardından silinecek
docker rmi -f $(docker images -aq)
#Konteyner import etme işlemi
docker load -i /home/imajlar/alpine.tar


#VirtualBox Linux to Windows File Transfer - Backup
scp root@192.168.1.200:/home/imajlar/alpine.tar c:\Users\hrapo\OneDrive\Masaüstü\DevOps\
scp c:\Users\hrapo\OneDrive\Masaüstü\DevOps\alpine2.tar root@192.168.1.200:/home/imajlar/



28 Mart 2023 Salı

Docker Hub İlk Push Komutumu Kullandım

 Docker gerçekten çok keyifli bir ortam. Test ortamında yeni şeyler denedikçe daha fazla şey öğreniyorum ve gelişimim çok hızlı bir şekilde ilerliyor. Umarım sıkılmadan devam edebilirim :)


Bugün kullandığım bazı komutlar:

#Docker login and images push
docker login
docker logout
docker images
docker info | grep Registry
docker image tag alpine:3.12 gundillias/alpine:3.12
docker image push gundillias/alpine:3.12
docker pull hello-world
docker rmi feb5d9fea6a5

#Docker tüm konteynerlari kalıcı olarak silme
docker rmi $(docker images -aq)
docker rmi -f $(docker images -aq)

21 Mart 2023 Salı

Docker Container Prune - Çok Hızlı Çalışıyor

 Bir süredir Docker eğitim videolarına bakıyorum ve teknolojiyi öğrenmeye çalışıyorum. Bir sonraki hedefimde kubernetes ve AWS gibi sistemler olacak. Bugün ilginç bulduğum bir komut öğrendim. Pasif olan tüm konteynerleri imha etmeye yarıyor. Dikkatli kullanmakta yarar var.

#docker container prune

Denemek için sanal sunucuda birkaç tane konteyner oluşturup ardından prune komutunu deneyebilirsiniz. Sonuç aşağıdaki gibi oluyor.

Docker


14 Ocak 2023 Cumartesi

DevOps Yolunda Önce Docker mı yoksa Kubernetes mi Öğrenmeliyiz?

Docker, uygulamaların çalışmasını sağlamak için kullanılan bir container teknolojisidir. Kubernetes ise, container'ların yönetimi, dağıtımı ve skalasını sağlamak için kullanılan bir araçtır. Öncelikle Docker öğrenmeniz önerilir, çünkü Kubernetes container'ları yönetirken Docker kullanır. Ancak, uygulamalarınızı dağıtmak ve skalalamak istiyorsanız, Kubernetes öğrenmeniz daha yararlı olabilir.

4 Ocak 2023 Çarşamba

Ansible Varsayılan Yapılandırma ve Görevleri Farklı Playbooklara Dağıtma

 Ansible eğitiminde fena gitmiyoruz. En son yapıyı yeniden kurgulamaya ve her bir görevi farklı playbooklara dağıtmaya çalışıyoruz. Aşağıdaki resimde de görüldüğü gibi bir dizin kurgusuna gittik. Bu sanırım Ansible Docs'un istediği veya önerdiği bir yapı. Her bir görevin altında dikkat ederseniz bir main.yml dosyası var. Ayrıca tree isimli yeni bir komut öğrendim. Linux'ta dizin alt yapısını öğrenmek için bu komutu kullanabiliyorsunuz ancak yüklü olması gerekiyor. Yüklemesi birkaç saniyelik bir işlem. Denemenizi öneririm.

Ansible Dosya Yapısı


27 Aralık 2022 Salı

Ansible'da Değişkenler ve Inventory Dosyasında Sunucuları Gruplandırma

 Ansible'ın yeteneklerini gördükçe heyecanlanıyorum ve gerçekten ufkum genişliyor diyebilirim. Birçok şey yapmaya başladık. Bugün varsayılan yml dosyası oluşturup inventory dosyamızda sunuclarımızı gruplandırdık ve görevleri yine worker'lar üzerindeki sunucu tiplerine göre çalıştırmayı başardık. Yeni yml dosyamızda artık görev görev yapılacak işlemleri ekleyip sonucunun gerçekleşmesini bekliyoruz. Yml dosyasının son hali:

inventory:

[web_sunuculari]
192.168.1.64 

[veritabani_sunuculari]
192.168.1.65 

apache_varsayilan.yml:

apache_sunucusu: apache2
php_kutuphane: libapache2-mod-php

***

---
  - hosts: all
    become: true
    tasks:

    - name: Bu gorev, sunucu güncellemeleri için hazırlanmıştır.
      ansible.builtin.package:
        upgrade: dist
        update_cache: yes
      when: ansible_distribution == "Ubuntu"
    # worker'ların arasında Rocky olsaydı update_only: yes ve
    distirbution kısmı "Rocky" olarak ayrıca eklenecekti.
       

    # Bu görev Ubuntu için Apache ve Php kütüphanesini yükler.
  - hosts: web_sunuculari
    become: true
    tasks:

      - name: İşletim sistemlerini tespit et.
        debug: var=ansible_os_family

      - name: Dosyalardan değişkenleri oku
        include_vars: "{{ lookup('first_found', params) }}"
        vars:
          params:
            files:
            - "vars/apache_{{ ansible_os_family }}"
            - "vars/apache_varsayilan.yml"

      - name: Bu gorev, Ubuntu için apache ve php kütüphanesi ile
                birlikte paket index'ini gunceller.
        ansible.builtin.package:
            name:
              - "{{ apache_sunucusu }}"
              - "{{ php_kutuphane }}"
            state: latest