Kategori: DevOps

Kubernetes  üzerine Prometheus Stack Kurulumu ve Ayarlanması

Kubernetes üzerine Prometheus Stack Kurulumu ve Ayarlanması

İster developer olun ister sistemci ister devopscu monitoring hayatımızın olmassa olmazı. 3-5 ay önce k8s clusterlarımızın ssl expire tarihlerini kontrol ediyorduk, tabi o zamanlar bunu monitor ettimiyorduk, etmek de açıkcası pek aklımıza gelmemişti. Sonra updateler vs ile bunun stabil hale getirilip sadece ssl için değil proxy,etcd vs gibi control plane komponentleri ile ds/deployment gibi data […]

H/A MinIO Kurulumu ve MinIO Client Kullanımı

Nedir? MinIO, Amazon S3 protokolü uyumlu bir bulut depolama sunucusudur. Bir nesne deposu olarak MinIO, fotoğraflar, videolarve dosyalar, yedeklemeler ve konteyner imajları gibi verileri depolayabilir. Başlayalım Öncelikle H/A yapı için minimum 2 vm ve bir load balancera ihtiyacımız var. Bunun için bu anlatımda ben nginx kullanacağım. Anlatımda 2 sunucu üzerinden gideceğim, siz dilerseniz arttırabilirsiniz. Her […]

Kubernetes Pod Network Cidr Değiştirmek

Nedir? Pod network cidr kubernetes clusterdaki podlarımızın cluster içi local networkde alacağı IPv4 bloğudur. Bu kubespray ve kubeadm kurulumlarında container network interface’de tanımlanır(CNI). CNI olarak en yaygın şekilde calico kullanılmaktadır. Case Bugün Hepsiburada private networkündeki bir kubernetes clusterda; hedef ip adresine worker node üzerinden gidebilirken, pod içinden gidemediğimiz konulu bir case geldi. Bu case üzerine […]

Kubernetes Auth 101

Giriş Kubernetes kullanan, kullanmış veya ilgilenmiş herkes kubectl veya dashboard’u duymuştur. Kubernetes master’larına gidiyoruz, istek atıyoruz, podlar oluşturup siliyoruz. Peki prod ortamda herkesin erişmesini istemediğimizde kubernetes bize ne sunuyor? Standart bir kubernetes cluster’ında api, 443 portundan hizmet verir. Tabi 443 portundan https ile konuşur. Siz aksini belirtmemişseniz, genelde kurulum sırasında otomatik olarak imzalanır. Biz de […]

Kubectl Komut Satırı (Shell) Otomatik Tamamlama

Kubernetes cluster’ımızla konuşmak için kullandığımız komut “kubectl”, bash ve zsh için otomatik tamamlama desteği sağlamaktadır. Bu da cluster’ımızı yönetirken bizi gereksiz yazı yazmaktan kurtarıp hızlıca tab tuşunu kullanarak otomatik tamamlamasını sağlıyor. Örneğin “kubectl -n” yazıp tab tuşuna bastığımızda namespace’lerimizi listeliyor veya birkaç benzersiz harf yazdığımızda otomatik tamamlıyor ve bunu tüm parametrelerde kullanabiliyoruz. Hatta “kubectl” yerine […]

RKE ile Kubernetes Cluster Kurulumu (HA)

Öncelikle Kubernetes cluster’ınızı yöneteceğiniz bir (management) sunucu belirleyelim. Bu ayrıca kurduğunuz bir sanal sunucu veya lokal cihazınız da olabilir. Tam hakimiyet açısından Linux bir sunucu üzerinden işlemleri yapmanız daha sağlıklı olacaktır. Windows bir cihaza sahipseniz Microsoft Store üzerinden hızlı ve ücretsiz bir şekilde Ubuntu 18 indirerek adımlara devam edebilirsiniz. Ön Şartlar İlk olarak kurulumu yapacağımız […]

Kubernetes Startup Probes Nedir?

Başka bir yazımda readiness ve liveness probeları arasındaki farkı anlatmıştım. Probe ailesinin artık yeni bir üyesi var. Elimizde bir java uygulaması var diyelim. Bir sürü yere bağlanıyor, db, kafka, redis, cassandra, rabbit, mongo vs ve bazen her seferinde yapmadığı db migration kısımlarını içeriyor. Siz sırf ara sıra çalışan bu migration işlemlerinden ötürü, probeların init delay […]

Kubernetes Dashboard Kurulumu ve Nodeport ile Erişilmesi

Dashboard web tabanlı bir Kubernetes kullanıcı arayüzüdür. Bu arayüzü kullanarak metriklere bakabilir, ve kubectl ile yapabileceklerinizin bir kısmı biraz daha görsel halde deneyimleyebilirsiniz. Monitoring dışında; deployment ölçeklendirebilir, bir güncelleştirme başlatabilir, bir podu yeniden başlatabilir veya yeni uygulamalar oluşturabilirsiniz… Her ne kadar kendim kullanmasam da takımdaki diğer arkadaşlar için zaman zaman kurmam gerekebiliyor.(kubectl çok daha kullanışlı) […]

Kubernetes Init Containers Nedir?

Her ne kadar pod başına bir container önerilse de bazı durumlar için bir podun içerisinde birden fazla container olabilir. En basit örneği ile, istio kurduğunuzda ( namespace labellarını ekledikten sonra ) podlarınızın içerisindeki container sayısının bir arttığını görürsünüz bunun sebebi pod içine envoy proxy koymasıdır. İyi, güzel, hoş da bu init ne? Init containerları da […]

HAProxy ve Keepalived ile H/A Load Balancer Kurulumu

Çeşitli ortamlarımızda Load Balancer ihtiyacımız olabilir. Örneğin ben on-premise Kubernetes ortamında ingress controller’a trafiği yönlendirmek için kullanmıştım. H/A için Yazılımsal Load Balancer güzel bir çözümdür fakat tek bir LB ortamımızda single point of failure oluşturmaktadır. Yani ne yapalım LB önüne bir LB daha mı koyalım gibisinden kötü bir espri yapmadan anlatıma geçiyorum Öncelikle 2 […]