Kubernetes nedir?

Kubernetes, kapsayıcı dağıtımı, yönetimi ve ölçeklendirmesi için geliştirilmiş açık kaynak bir düzenleme yazılımıdır

Kubernetes’i açıklıyoruz

Bağımlılıkları ve yapılandırmalarıyla birlikte paketlenmiş mikro hizmetleri ifade eden kapsayıcı teknolojisiyle oluşturulan modern uygulamaların oranı gittikçe artıyor. Kubernetes (kısaca k8s), bu kapsayıcıların uygun ölçekte dağıtılıp yönetilmesine yönelik açık kaynak yazılımdır. Kubernetes ile kapsayıcılı uygulamalarınızı daha hızlı bir şekilde oluşturabilir, teslim edebilir ve ölçeklendirebilirsiniz.

Bu basit öğrenim yolunu izleyerek Kubernetes’i keşfedin

Kubernetes’in çalışma biçimi

Uygulamalar büyüyerek farklı sunuculara dağıtılmış birden çok kapsayıcıya yayılır hale geldiğinde bunları çalıştırmak daha da karmaşıklaşır. Kubernetes, bu karmaşıklığın yönetilmesi için kapsayıcıların nasıl ve nerede çalışacağını kontrol eden açık kaynak bir API sağlar.

Bir sanal makine kümesini düzenleme, kapsayıcıları kullanılabilir işlem kaynaklarına ve her bir kapsayıcının kaynak gereksinimlerine bağlı olarak bu sanal makinelerde çalışacak şekilde zamanlama olanağı da sunar. Kapsayıcılar, Kubernetes için temel işlem birimi olan ve istediğiniz duruma uygun şekilde ölçeklendirilebilen podlar halinde gruplandırılır.

Kubernetes, hizmet keşfinin yönetilmesine, yük dengeleme özelliğinin eklenmesine, kaynak ayırma durumunun izlenmesine, işlem kaynağı kullanımına göre ölçeklendirme uygulanmasına, tek tek kaynakların durumunun denetlenmesine ve uygulamaların kapsayıcıları otomatik bir biçimde yeniden başlatarak ya da çoğaltarak kendi kendini düzeltmesine yardımcı olur.

Temel Kubernetes kavramları hakkında daha fazla bilgi edinin

Kubernetes’in çalışma biçimi

Kubernetes neden kullanılmalı?

Taşınabilir, ölçeklendirilebilir ve genişletilebilir bir biçimde kapsayıcı tabanlı ortamlar uygulayın.

Taşınabilirlik

Kapsayıcılı iş yüklerini sorunsuz bir şekilde yerel geliştirme makinelerinden üretime taşıyın. Şirket içi altyapı, genel ve hibrit bulutlar gibi farklı ortamlardaki kapsayıcıları tutarlı bir şekilde düzenleyin.

Ölçeklenebilirlik

Kaynaklar Kubernetes tarafından istediğiniz duruma göre iyileştirildiğinden, karmaşık kapsayıcılı uygulamalar tanımlayıp bunları bir sunucu kümesine, hatta birden çok kümeye küresel olarak dağıtabilirsiniz. Yerleşik otomatik ölçeklendirici sayesinde Kubernetes, uygulamanızı yatay olarak kolayca ölçeklendirebilmesinin yanı sıra kapsayıcı durumunu otomatik olarak izler ve korur.

Genişletilebilirlik

Kubernetes topluluğunu oluşturan geliştiriciler ve şirketler tarafından oluşturulan uzantı ve eklentilerin yer aldığı geniş ve durmaksızın büyüyen bir koleksiyona erişin. Uyumlu bir Kubernetes hizmeti, bu topluluk tekliflerinin tüm avantajlarından yararlanmanıza ve güvenlik, izleme, yönetim gibi özellikler eklemenize olanak tanır.

Kubernetes ve DevOps ile uygun ölçekte çeviklikten yararlanın

Kapsayıcılar, ortamlar ve bunlarla çalışan takımların sayısı katlanarak arttıkça yayın sıklığının yanı sıra geliştirme ve operasyon sürecinin karmaşıklığı da artabilir. Kubernetes ortamlarında DevOps’tan yararlanarak gelişmiş güvenlikle uygun ölçekte hızla ilerleyebilirsiniz.

Sürekli tümleştirme ve sürekli dağıtım (CI/CD) ile daha hızlı kod teslim edin

Kapsayıcılar geliştirme ve operasyon takımları arasındaki işbirliğini kolaylaştıran tutarlı bir uygulama paketleme biçimi sunsa da CI/CD, bu görevleri otomatikleştirerek kod aşamasından önce kapsayıcı, sonra Kubernetes kümesi aşamasına ulaşma süresini dakikalarla ifade edilecek kadar kısaltır.

Kubernetes için CI/CD ayarlama

Kod olarak altyapıyla kaynakları etkili bir biçimde yönetme

Kod olarak altyapı, takımlar arasında işlem kaynaklarının tutarlılığını ve görünürlüğünü artırarak insan hatası olasılığını azaltır. Bu yöntem, Kubernetes uygulamalarının Helm destekli bildirimlere dayalı olmasıyla doğrudan ilişkilidir. Bu ikisinin birleşimi sayesinde uygulamalarınızı, kaynaklarınızı ve yapılandırmalarınızı güvenilebilir, izlenebilir ve tekrarlanabilir bir şekilde tanımlayabilirsiniz.

Terraform ile Kubernetes kümesi dağıtma

Sürekli izlemeyle geri bildirim döngüsünü hızlandırın

Değiştirilemeyen kapsayıcılar, sık yayınlar ve soyut bir düzenleme katmanı, gözlemlenebilirliği daha zor, ondan da önemlisi daha kritik hale getirir. Hataların yapılması ile düzeltilmesi arasındaki süreyi kısaltmak için kapsayıcı durumu izlemeden merkezi günlük kaydına kadar her konuda kaynaklarınızın, kümenizin, Kubernetes API’nizin, kapsayıcılarınızın ve kodunuzun durumuna ilişkin bütünlüklü bir görünürlüğe sahip olmanız gerekir. Bu görünürlük, kaynak sorunlarının önlenmesine, kötü amaçlı isteklerin izlenmesine ve Kubernetes uygulamalarınızın iyi durumda tutulmasına yardımcı olur.

Gerçek zamanlı kapsayıcı içgörülerinin nasıl çalıştığını öğrenin

DevOps ile hız ve güvenlik arasında denge kurun

DevOps iş akışınızın bir parçası olarak yerleşik, gerçek zamanlı gözlemlenebilirlik olanağına sahip olun. Uyumluluk denetimlerini ve yeniden yapılandırma işlemlerini otomatik bir biçimde uygulayarak derleme ve yayın işlem hattınızı, sonuç olarak da Kubernetes uygulamanızı güvenli hale getirin.

Sürekli güvenliği iş başında görün

Kubernetes ile örnek DevOps iş akışı

  1. 1Bir uygulamanın farklı parçalarını aynı Kubernetes kümesinde birlikte, hızla yineleyin, test edin ve bunların hatalarını ayıklayın.
  2. 2Sürekli tümleştirme için kodu birleştirip bir GitHub deposuna iade edin. Sonra sürekli teslim kapsamında otomatik derleme ve testler çalıştırın.
  3. 3Kapsayıcı görüntülerinin kaynağını ve bütünlüğünü doğrulayın. Görüntüler taramadan geçene kadar karantinada tutulur.
  4. 4Terraform gibi araçlarla Kubernetes kümeleri sağlayın. Terraform tarafından yüklenen Helm grafikleri, uygulama kaynaklarının ve yapılandırmanın istenen durumunu tanımlar.
  5. 5Kubernetes kümesine gerçekleştirilecek dağıtımları yönetmek için belirli ilkeleri zorunlu kılın.
  6. 6Yayın işlem hattı, her kodla birlikte otomatik olarak önceden tanımlanmış dağıtım stratejisini yürütür.
  7. 7CI/CD işlem hattına ilke denetimi ve otomatik düzeltme özellikleri ekleyin. Örneğin, Kubernetes ortamınızda yalnızca yayın işlem hattının yeni pod oluşturma izni vardır.
  8. 8Uygulama telemetrisi, kapsayıcı durumu izleme ve gerçek zamanlı günlük analizi özelliklerini etkinleştirin.
  9. 9Sorunları giderme ve gelecek sprint’lere ilişkin plan yapma konusunda içgörülerden yararlanın.

Azure ile Kubernetes’in güçlü yanlarını temel alıp bunları geliştirin

Tam olarak yönetilen Microsoft Azure Kubernetes Service (AKS) ile sağlama, yükseltme, izleme ve ölçeklendirmeyi otomatikleştirin. Geliştirmeden üretime kadar olan süreç için daha basit bir deneyim olan sunucusuz Kubernetes’in yanı sıra kurumsal sınıf güvenlik ve yönetim olanaklarına sahip olun.

AKS hakkında daha fazla bilgi edinin

Kubernetes, topluluğa aittir

Kubernetes, projeye bilgileri, kodları ve çalışmalarıyla katkıda bulunan binlerce insan ve yüzlerce kurum tarafından kuruldu ve onlar sayesinde hızla büyüyor. Bu topluluğun tutkuyla, durmaksızın yaptığı katkıları temel alarak yazılımınızın başarı şansını artırın.

30,000
Katkıda Bulunanlar
150,000
İşlemeler
En İyi Proje
GitHub’da

Kurumsal taahhütlü açık kaynak yazılım

Microsoft, Kubernetes’in kurumlar tarafından benimsenmesini ve geliştiriciler tarafından kullanılmasını kolaylaştırmak amacıyla, açık kaynak projeye katılan çalışan sayısını yalnızca üç yıl içinde üçe katladı. Şu anda kurumsal olarak katkı sağlayanlar arasında üçüncü sırada olan Microsoft, birçok farklı müşteriyle çalışarak edindiği en güncel bilgileri ve en iyi yöntemleri Kubernetes topluluğuna sunarak Kubernetes’in kurumsal kullanıma daha açık ve erişilebilir olması için çaba gösteriyor.

Azure’da Kubernetes kullanmaya başlayın

CI/CD işlem hattı oluşturun

Uygulamanızı hazırlayın

Kubernetes’e dağıtın

Uygulamayı görüntüleyin

Adım 1/1

En iyi CI/CD yöntemlerini kullanmaya başlamak için bir Azure DevOps oluşturun.

Adım 1/1

Yerleşik uygulama şablonlarından birini seçin veya kendi kodunuzu getirin.

Sonra, dağıtım hedefi olarak Kubernetes’i seçin.

Adım 1/1

Yeni bir AKS kümesi oluşturun ya da mevcut bir kümeyi seçin.

Adım 1/1

Kümeniz hazır olduğunda Azure DevOps kapsayıcıyı AKS kümesine dağıtır. Uygulamanızı görüntülemek için dış uç noktaya tıklayın.

Uygulamanız yayınlanmaya başladığında uygulamayı nasıl değiştirebileceğinizi görmek için bağlantıları izleyin.

SSS – Kubernetes

  • Kubernetes ve Docker birlikte çalışır.

    Docker, kapsayıcılı uygulamaların paketlenip dağıtılması için açık bir standart sağlar. Docker’ı kullanarak kapsayıcı oluşturup çalıştırabilir, kapsayıcı görüntülerini depolayıp paylaşabilirsiniz.

    Kubernetes, Docker’ın oluşturduğu, dağıtılmış durumdaki kapsayıcılı uygulamaları düzenler ve yönetir. Bu uygulamaların bir makine kümesinde dağıtılıp çalıştırılması için gerekli altyapıyı da sağlar.

  • Kubernetes dağıtımları, istediğiniz uygulama dağıtım durumunu açıklamanıza olanak tanır. Kubernetes zamanlayıcısı, gerçek durumun istediğiniz durumla eşleşmesini sağlar ve bir veya daha çok podun kilitlenmesi durumunda bu durumu korur. Kubernetes dağıtımları, uygulamalarınızı kesinti süresi olmadan, tutarlı bir biçimde yükseltmenize de olanak tanır.

    Bu konunun tüm yönleriyle ele alındığı bir tartışmayı izleyin
  • DevOps ile Kubernetes’e dağıtım mekanizmasında genellikle sürüm yönetimi için Git gibi bir depo yer alır. Depo, CI/CD hattının başlangıcıdır. İzlediğiniz yaklaşıma bağlı olarak depodaki değişiklikler tümleştirme, derleme, teslim ve dağıtım etkinliklerini tetikler.

    AKS’nin Azure DevOps ile nasıl çalıştığını ayrıntılı olarak görün
  • Kubernetes, uygulamaların buluta taşınmasından makine öğrenimi ve yapay zeka konusundaki zorlukların basitleştirilmesine kadar birçok farklı senaryoda kullanışlıdır.

    Temel kullanım örnekleri şunlardır:

  • Azure’ı kullanan binlerce teknik uzman ve iş ortağı tarafından hazırlanan en iyi yöntemlere ve mimari desenlere bakın.

  • Kubernetes’i öğrenmeye başlamak için seçki olarak sunulan bu yolculuğu izleyin.

Kaynaklar

Kullanıma hazır: Kubernetes’i Azure’da ücretsiz olarak deneyin