Kubernetes üzerinde geliştirme yapabilmek için tercih edilecek en iyi yollardan biri Minikube kullanmak. Minikube lokal makinenizde bir VM içinde, tek node’lu bir cluster oluşturarak Kubernetes deneyimi yaşamanıza imkan veriyor. Ancak çok node’lu bir cluster nasıl çalışıyor görmek istiyorsanız, lokal makinenize sanal makinelerden oluşan bir kurulum yapmanız gerekiyor. Ben Windows ile çalıştığım için VMware Workstation kullanacağım ancak kurulum adımları bir çok farklı sanallaştırma aracı veya fiziksel ortam için de geçerli.
Tipik bir Kubernetes cluster genellikle bir master ve birkaç worker nod’dan meydana gelir. Worker node lar daha sonra master node tarafından yönetilir, böylece cluster’ın merkezi bir noktadan yönetilmesi sağlanır.
Anlatmaya çalışacağım Kubernets cluster yapısı 1 master node, iki 2 worker node şeklinde bir yapı olacak. Master node’da en az 2 CPU ve 4 GB RAM olması önerilir. Kurulum sırasında repository lerden paketler indireceğimiz için tüm nodelarda internet bağlantısı gerekli, sanallaştırma ortamını buna uygun ayarlamamız gerekir. Tahmin edeceğiniz gibi kubernetes container runtime olarak docker kullanacağız.
Master Node : 192.168.10.20
Worker Node 1 : 192.168.10.21
Worker Node 2 : 192.168.10.22
(continue reading…)
2,895 total views
Cluster, CONTAINER, Container Orchestration, Docker, kubectl, Kubelet, Kubernetes, kubernetes CNI, Kubernetes Eğitim Serisi, Kubernetes Eğitimi, Kubernetes Kurulum, Kubernetes Kurulumu, Kubernetes Laboratuvar, Kubernetes Mimarisi, kubernetes netwok yapılandırması, Kubernetes Network, Kubernetes Networking, Kubernetes Örnek, Kubernetes Temel Kavramlar, kubernetes weave network, Kubernetes Yapılandırma Leave a Comment more...
18
Oca/20
Kubernetes Nedir, Nasıl Çalışır, Nerede Kullanılır?
by Mustafa Bektaş Tepe under DevOps, Kubernetes
Kubernetes’in kelimesi Yunancadan geliyor ve anlamı dümenci (helmsman) veya pilot olarak karşımıza çıkıyor. Çoğu kaynaklarda kubernetesi k8s olarak yazıldığını görebilirsiniz. Bunun sebebi k ve s harflerinin arasında 8 tane harf olmasıdır.
Kubernetes (K8s), konteyner uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştirmek için açık kaynaklı bir sistemdir.
Sektörün ihtiyaçları neticesinde container yapılarının yoğun olarak kullanılmaya başlanmasıyla, yönetim ve operasyon yükünü kısıtlı personel ile kaldırabilmek adına bu sistemleri otonom haline getirmek kaçınılmaz bir hal aldı. Kubernetes’in öne çıktığı nokta tam olarak burası diyebilirim. Gerçek hayattan birkaç örnek verecek olursak;
Bizim makine bütünümüz var yani 1000 core luk bir makine halinde değil 8/10/12 vb gibi parçalar halinde, biz uygulamaları bunların üzerinde çalıştırırken uygulamaların nerede çalışacağına da karar vermek istemiyoruz. Bu durumlardan dolayı bütün container orchestratorlar birer cluster manager rolünde. Bunların üzerine bir agent kuruyoruz ve bize uygulamayı yönetme imkanı veriyor. Bizim 20 tane 10 core luk makinemiz varsa ben onları 200 core şeklinde bir bütün olarak görüyorum.
Containerları kurduk, 5 tane container çalıştıracağım, bunları aynı VM ler üzerinde değil de farklı VM lerde çalıştrımak istiyorum (best practice) gibi mantıksal tercihlerin yapılması ve aynı zamanda bir önceki maddede belirttiğim makine bütününde kullanılan/kalan core hesaplarının yapılması gibi işlemler içinde pencerenin bütününü gören bir mekanizmaya ihtiyacımız var bu noktada bir container orchestrator ihtiyacımız doğuyor.
Bu bilgiler ışığında kubernetes’in çözdüğü ve çözmeye aday olduğu noktalar ;
Tüm alt yapıyı tek bir bütün olarak görmemize/yönetmemize olanak sağlıyor.
Alt yapımızı daha iyi kullanmamıza olanak veriyor.
Containerlarda health check yaparak kontrollü çalışmasını sağlıyor.
Bir container herhangi bir sebepten fail duruma geçerse, yenisinin ayağa kaldırılmasını sağlıyor.
Maintenance yada failing durumlarında HA şeklinde bir node üzerindeki uygulamaları bir diğerine kesintisiz şekilde taşınmasını sağlıyor.
Conteinerların belirlenen kriterlerde auto-scale edilmesini sağlıyor ve aynı zamanda scale olan containerlere yük dağılımını da sağlıyor.
Yeni versiyonların herhangi bir kesinti olmadan deploy edilmesini sağlıyor.
Service discover gibi bir özellik ile ne-nerde bilmemize olanak sağlıyor.
Key/Value Store yani konfigürasyonları containerler dışında store edilmesini sağlıyor.
Containerlerin izole bir networkte haberleşmesini sağlıyor.
Google’ın GO dili kullanılarak geliştirdiği Kubernetes’i 2014 yılında açık kaynak hale getirildi ve Cloud Native Computing Foundation tarafından desteklenmektedir. Google tarafından 2004 yılından beri kullanılmakta ve hali hazırda milyarlarca konteyner için kullanılıyor.
Kubernetes konteyner içerisindeki uygulama veya servislerinizin en iyi şekilde çalışmasını sağlar.
Servisleri izler, yük dengelemesi yapar, depolama alanlarınızı yönetir, (Yerel depolama birimlerinizden, Amazon servislerine, NFS ve iSCSI protokollerinden verilmiş depolama birimlerine kadar), secret ve konfigürasyon yönetiminizi yapar, konteynerlarınız hataya düştüğünde otomatik olarak onarmaya çalışır, çok basit şekilde yatayda genişlemenizi sağlar. (CPU kullanımına göre otomatik olarak yapılabilir.)
Konteyner yönetim aracı olarak birden fazla alternatif vardır bunlardan başlıcaları docker swarm ve mesos’dur. Bu arada Kubenetes’de konteyner teknolojisi(Container runtime) olarak sadece docker’ı değil başka konteynerlarıda desteklemektedir, bunlar containerd, cri-o, rktlet konteynırlarıdır.
(continue reading…)
8,307 total views
cloud-controller-manager, ClusterIP, CONTAINER, Container Orchestration, Container Runtime, DaemonSet, Declarative Mode, Deployment, DEVOPS, etcd, ExternalName, Imperative Mode, kube-apiserver, kube-controller-manager, kube-proxy, kube-scheduler, Kubelet, Kubernetes Avantajları, Kubernetes Bileşenleri, KUBERNETES CLUSTER, Kubernetes Nedir, LoadBalancer, Namespaces, NodePort, Persistent Volume, Pod, Replica Set, Services, StatefulSet, Volume, yaml nedir Leave a Comment more...
10
Oca/20
Docker Nedir
by Mustafa Bektaş Tepe under DevOps, Docker, Kubernetes
Merhabalar bu yazıda gün geçtikçe popülerliği artan docker ile ilgili bir şeyler yazmak istedim fakat araştırdıkça o kadar güzel yazılar gördüm ki yazmak yerine, benim docker’ı anlama yardım eden yazılardan kısa,net ve anlaşılır bir özet çıkarmak istedim. Kullandığım referansların bir kısımını yazının sonuna ekliyor olacağım.
Konteyner yapısının ve getirdiği farklılıkların daha iyi anlaşılabilmesi için öncelikle eskiden ne yapıyorduk, şimdi ne yapıyoruz bir hatırlayalım.
Sanallaştırma teknolojilerinden önce bir fiziksel sunucu üzerine birden fazla işletim sistemi kurmak mümkün olmuyordu. Farklı her bir işletim sistemi için mutlaka yeni fiziksel kaynak gerekiyordu. Bu durumda her yeni sunucu ihtiyacında temin süresi bekleniyor, alınacak sunucular için rack alanı ayarlanıyor, sistem odasinin soğutma tasarımı ve enerji tüketimi gözden geçiriliyor vs. vs. bir çok olumsuz ve iş yükü getiren detay ortaya çıkıyordu.
Sanallaştırma teknolojileri ile beraber bu durum değişti. Sanallaştırma ile yazılımsal olarak elde bulunan fiziksel donanımların mantıksal olarak ayrılarak birden fazla sanal makine şekline sokulup, kaynakları daha verimli kullanmak başta olmak üzere daha bir çok avantajı beraberinde getirdi diyebiliriz. Sanalaştırma ile onlarca fiziksel makine yerine yüksek kapasiteli tek bir makine içerisine sanal olarak aynı sistemleri kurabilirsiniz. Böylece enerji, kablolama, soğutma, ve sunucuların kapladığı alandan büyük ölçüde tasarruf ve mobilite sağlar. Bakım, onarım, upgrade süreleri kısalır, high availability çözümleri kolaylaşır, olası bir afet veya bir arıza durumlarında downtime sürenizi saniyelere kadar indirir. Bu yapı halen çok yaygın kullanılmakta olup, aşağıdaki resim sanallaştırılmış bir ortamı anlatmaktadır.
(continue reading…)
2,154 total views, 2 views today
CONTAINER, Continuous Integration, DEVOPS, Docker, Docker Avantajları, Docker Nedir, docker sanallaştırma karşılaştırma, Konteyner mimarisi, LXC Leave a Comment more...
Kategoriler
Active Data Guard(Stand by) (5)
ASM(Automatic Storage Management) (7)
BACKUP (3)
DevOps (5)
Docker (1)
Genel (10)
Güvenlik (3)
Java (2)
Kubernetes (5)
Linux (34)
MySQL (2)
ORA-Erros (1)
Oracle (45)
Oracle 12c Database (1)
Oracle Data Integrator (8)
Oracle Enterprise Manager (3)
Oracle Flashback (3)
Oracle Weblogic (9)
PL/SQL (17)
PostgreSQL (17)
RAC(Real Application Cluster) (1)
Real Application Testing (2)
RMAN (3)
Scripts (10)
ASM (3)
Rapor (7)
RMAN (1)
SQL (18)
SQL*Plus (2)
Step by Step (8)
Sertifikasyon
Takip Ettiklerim
Ensar Erdoğan
Ertugrul Aslan
Gökhan Şengün
H.Tonguç Yılmaz
Kamil Türkyılmaz.
Kamran Agayev
Mehmet Çagdaş Saygılı
Mehmet Kılıç
Ogan Özdoğan
Oracle-Base
Talip Hakan Öztürk
Ugur Inal
Zekeriya Besiroglu
Etiketler
Automatic Storage management Bektaş Tepe CONTAINER Linux disk partition Linux Kurulumu mustafa bektaş tepe Oracle Oracle ASM Oracle Automatic Storage management Oracle Backup Oracle Data Integrator oracle hr user Oracle Recovery Manager Oracle RMAN Oracle RMAN Block Change Tracking Oracle RMAN data recovery advisor Oracle RMAN Incremental Backup Oracle RMAN Incrementally Updated Oracle SQL PL-SQL PL/SQL PL/SQL Başlangıç RMAN backup RMAN control file backup RMAN data dictionary RMAN datafile backup RMAN datafile recovery RMAN konfigürasyonları RMAN kurtarma RMAN list RMAN mirror yedekleme RMAN recovery RMAN report RMAN retention RMAN sıkıştırma RMAN tablespace backup RMAN target RMAN validate RMAN Şifreleme Round Fonksiyonu SYS_CONTEXT Tarih Fonksiyonları Tek Kayit Fonksiyonları Trunc Fonksiyonu Weblogic
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.
Topluluklar
Son Yazılar
pg_dump İle Yedekleme ve Geri Yükleme İşlemleri
PostgreSQL Copy Komutu
PostgreSQL’de Parametreler ve Konfigurasyon Dosyası (postgresql.conf ve postgresql.auto.conf)
PostgreSQL Kimlik Doğrulama Ayarları – pg_hba.conf Dosyası
PostgreSQL Replikasyonda Switchover
PostgreSQL’de Logical Replikasyon
PostgreSQL’de Streaming Replikasyon
PostgreSQL’de Replikasyon
MVCC(Multiversion Concurrency Control) Nedir, Nasıl Çalışır?
PostgreSQL’de Write Ahead Logging (WAL) Kavramı
PostgreSQL’de Vacuum
PostgreSQL’de Foreign Data Wrapper (FDW)
PostgreSQL’de Ayrıcalık (Privilege)
Postgresql’de Schema Kavramı
PostgreSQL’de Rol, Kullanıcı ve Grup Kavramı
PostgreSQL Mimarisi
PostgreSQL’in Mantıksal ve Fiziksel Yapısı
Sık Kullanılan kubectl Komutları
Kubespray ile Kubernetes Kurulumu
Centos Üzerine Kubernetes Cluster Kurulumu
Kubernetes Nedir, Nasıl Çalışır, Nerede Kullanılır?
Docker Nedir
Linux Rsync ile Yerel veya Uzak Sunucular Arasında Senkronizasyon işlemleri
Mysql/Mariadb Master-Slave Replikasyon
WLSDM ile WebLogic ve Datasource Şifrelerinin Şifresini Çözme / Şifreleme (Decrypt/Encrypt)
Son yazılar
pg_dump İle Yedekleme ve Geri Yükleme İşlemleri
PostgreSQL Copy Komutu
PostgreSQL’de Parametreler ve Konfigurasyon Dosyası (postgresql.conf ve postgresql.auto.conf)
PostgreSQL Kimlik Doğrulama Ayarları – pg_hba.conf Dosyası
PostgreSQL Replikasyonda Switchover
Arşivler
Mart 2020
Şubat 2020
Ocak 2020
Aralık 2019
Nisan 2019
Etiketler
Automatic Storage management Bektaş Tepe Linux disk partition mustafa bektaş tepe Oracle Oracle ASM Oracle Automatic Storage management Oracle Backup Oracle Recovery Manager Oracle RMAN Oracle RMAN Block Change Tracking Oracle RMAN Incremental Backup Oracle RMAN Incrementally Updated Oracle SQL PL-SQL PL/SQL PL/SQL Başlangıç RMAN konfigürasyonları RMAN mirror yedekleme RMAN retention RMAN sıkıştırma RMAN target RMAN Şifreleme Tek Kayit Fonksiyonları