Google Cloud Config Connector
Baslamadan once; yakin zamanda klavye ve bilgisayarimi degistirdim. Malesef Turkce karakterleri yazamiyorum. Kucuk bir uygulamamiz oldugunu varsayalim.Onde bir frontend arkada bir backend, bu backend de iliskisel veritabani ve redise baglandigini dusunelim. Uygulamalarimiz kubernetes icersinde, stateful yapilarimiz ise GCP managed servis olsun. Tabi load balancer, logging ve monitoring de unutmamak lazim. Google Cloud kaynaklarini yonetmek icin […]
Mysql Fiziksel(Raw) Backup vs Mantıksal(Logical) Backup
Fiziksel(Raw) Mysql Backup Fiziksel(raw) yöntemi kullanarak alınan backuplar, veritabanı içeriklerini tutan dizin ve dosyaların kopyalanması ile oluşturulur. Sıkıntı anında, hızlı geri dönüş (burda kurtama da diyebilirsiniz) sağlar. Genellikle büyük ve önemli veritabanları için bu yöntem tercih edilir. Fiziksel Backup’ın Özellikleri "Memory" tablolarında tutulan verilerin backupını almak gerçekten büyük sıkıntı, sonuçta veriler diskte değil, ramde tutuluyor. […]
Kubernetes 1.21 İle Neler Değişti?
Yaklaşık 17 saat önce kubernetes v1.21.0 fırından çıktı. 212 commitlik bu realeasede benim gözüme çarpan bazı değişiklikler; Default Container Labels Birden fazla container barındıran podlara exec, log vs atarken siz de yaşamışsınızdır, hangi container diye sorar. Hele bir de config reloader gibiloguna günlük hayatta bakmayacağınız gibi bir container varsa iyice yav aman dedirtiyor insana. Çok […]
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 […]
Golang Slice(kesit) Kullanımı
Slice Kullanımı Örnek üzerinden gidelim. Misal okul müdürüsünüz ve öğrenci numaralarını tuttuğunuz bir array(dizin)’niz var ve bu dizin 500’lük tanımlanmış. 501. öğrenci numarasını kaydetmek istediğinizde hata alıcaksınız. Slice’lar boyutu büyüyüp, küçülebilen dinamik dizinlerdir. Slicelar aynı dizin tanımlar gibi tanımlanırlar. var og_nums []int Yukarıda öğrenci numaralarını tutacağımız boş bir slice tanımladık. Klasik, indeks 0’dan başlar. Örn: […]
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 […]
Gitlab-Runner Executors Nedir?
Eğer gitlab-runner ile ilgili öğrenmeye yeni başladıysanız öncelikle https://kubernetesturkiye.com/gitlab-runner-nedir-nasil-kurulur makalemizi okumanızı tavsiye ederim. Normalde makalelerin bir süre sonra güncellenmesi gerekiyor hepimizin bildiği gibi ama bu başka. Gitlab artık executors destek listesini kilitledi. Herhalde bu makale meslek hayatımda güncelleme istemeyen yagane ürün olarak kalıcak 🙂 Nedir? yazımda konuştuğumuz gibi runnerlar sunucumuza register olduktan sonra işlemleri üzerine […]
Gitlab-Runner Nedir, Nasıl Kurulur?
Gitlab’in geliştirdiği her toolu ayrı bir uygulama gibi koşabilme vizyonunun güzel bir örneği bence gitlab-runner. Özünde, gitlab-ci ile oluşturduğumuz jobları çalıştırmak ve çıktılarını gitlabe geri göndermek için kullanılan açık kaynak bir projedir. Gitlab’in CI/CD’sinin pipeline kadar önemli bir bacağıdır. Yapı itibariyle Jenkins’in agentlarına benzer. MIT lisansı altında Go dili ile yazılmıştır. Pek umursamasamda, Windows üzerinde […]
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ı) […]