Golang Slice(kesit) Kullanımı

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

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?

Gitlab-Runner Executors Nedir?

Eğer gitlab-runner ile ilgili öğrenmeye yeni başladıysanız öncelikle https://kubernetesturkey.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-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 […]

kubectl autocomplete

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 K8S Cluster

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?

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 […]

rke version upgrade

RKE ile Kubernetes Sürüm Yükseltme

Öncelikle K8S sistemlerinin farklı şekillerde kurulma metotlarının olduğunu hatırlatmakta fayda var. Bu yazımızda RKE (Rancher Kubernetes Engine) ile kurulan K8S sistemlerinde sürüm yükseltmeyi anlatacağım. İlk olarak RKE ile kurulum yaptığınız sunucuya (lokal veya sanal sunucu olabilir) bağlanıp cluster.yml dosyamızın olduğu dizine giriyoruz. (Dizini bilmiyor isek konsol ekranında find / -name cluster.yml komutu ile öğrenebiliriz.) Ön Şartlar […]

Kubernetes Dashboard Kurulumu ve Nodeport ile Erişilmesi

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?

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 […]