Kubernetes

Kubernetes (, genellikle K8s olarak yazılır) yazılım dağıtımını, ölçeklendirmeyi ve yönetimini otomatikleştirmek için açık kaynaklı bir yerleştirme düzenleme sistemidir. Google başlangıçta Kubernetes'i tasarladı, ancak artık Cloud Native Computing Foundation projeyi sürdürmektedir. Kubernetes, Docker, Containerd ve CRI-O ile çalışmaktadır. Başlangıçta, bir "Dockershim" aracılığıyla yalnızca Docker runtime ile arabirim oluşturdu; ancak, Kasım 2020'den Nisan 2022'ye kadar Kubernetes, kapsayıcıyla Containerd aracılığıyla doğrudan arabirim oluşturma veya Docker'ı Container Runtime Interface (CRI) ile uyumlu bir çalışma zamanı ile değiştirme lehine "shim" kullanımdan kaldırdı. Mayıs 2022'de v1.24'ün yayınlanmasıyla birlikte "Dockershim" tamamen kaldırıldı. == Tarih == bağlantı=//upload.wikimedia.org/wikipedia/commons/thumb/8/8d/GoogleCloudKubernetes.jpg/220px- GoogleCloudKubernetes.jpg|küçükresim| Google Cloud Summit'te Google Kubernetes Engine konuşması Kubernetes (κυβερνήτης, Yunanca "dümenci", "pilot" veya "vali" ve sibernetiğin etimolojik köküdür) Google tarafından 2014 yılının ortalarında duyuruldu. Proje Joe Beda, Brendan Burns ve Craig McLuckie tarafından oluşturuldu ve kısa süre sonra Brian Grant ve Tim Hockin de dahil olmak üzere diğer Google mühendisleri katıldı. Kubernetes'in tasarımı ve geliştirilmesi, Google'ın Borg küme yöneticisinden etkilenmiştir. En çok katkıda bulunanların çoğu daha önce Borg üzerinde çalışmıştı; Kubernetes'i Star Trek eski Borg karakteri Seven of Nine 'den sonra " " olarak adlandırdılar ve logosuna yedi kollu bir tekerlek verdiler. C++ ile yazılmış Borg'dan farklı olarak Kubernetes kaynak kodu Go dilindedir. Kubernetes 1.0, 21 Temmuz 2015'te yayınlandı. Google, Cloud Native Computing Foundation'ı (CNCF) oluşturmak ve bir tohum teknolojisi olarak Kubernetes'i sunmak için Linux Foundation ile birlikte çalıştı. Şubat 2016'da Kubernetes için Helm paket yöneticisi yayınlandı. Google zaten yönetilen Kubernetes hizmetleri sunarken Red Hat, 2014'te Kubernetes projesinin başlangıcından bu yana OpenShift'in bir parçası olarak Kubernetes'i destekliyordu. Ancak 2017 yılında, başlıca rakipler Kubernetes etrafında toplandı ve bunun için şu yazılımlar için yerel destek eklediklerini duyurdu: * Ağustos ayında, VMWare (Pivotal Cloud Foundry'nin savunucusu) * Eylül ayında, Mesosphere, Inc. (Marathon ve Mesos savunucusu) * Ekim ayında, Docker, Inc. (Docker savunucusu) * daha sonra aynı Ekim, Microsoft Azure * Kasım ayında AWS, Kubernetes için Elastic Container Service (EKS) aracılığıyla Kubernetes desteğini duyurdu 6 Mart 2018'de Kubernetes Projesi, GitHub projeleri listesinde Linux çekirdeğinden sonra taahhüt sayısı ile dokuzuncu, yazarlar ve sayılarda ikinci sırada yer aldı. 1.18 sürümüne kadar Kubernetes, bir N-2 destek politikası izledi; bu, en son üç küçük sürümün güvenlik güncellemeleri ve hata düzeltmeleri aldığı anlamına gelir. 1.19 sürümünden itibaren Kubernetes, bir N-3 destek politikası izler. == Kavramlar == küçükresim|Kubernetes Mimari Diyagramı Kubernetes, açık kaynaklı bir konteyner orkestrasyon sistemi olarak tanımlanır. Bu sistem, birden fazla konteyner uygulamasını koordine etmek, dağıtmak ve yönetmek için kullanılır. Kubernetes'in temel amacı, uygulamaların yüksek kullanılabilirlik ve ölçeklenebilirlik sağlamak için dağıtım, ölçeklendirme ve yönetim işlemlerini otomatikleştirmektir. Kubernetes'in ana kavramları arasında aşağıdakiler bulunur: # Konteyner: Yazılım uygulamalarını bir arada tutmak için kullanılan hafif ve taşınabilir bir sanallaştırma yöntemidir. Her bir konteyner, kendi izolasyon ortamında çalışır. # Pod: Bir veya daha fazla konteynerin bir araya gelerek oluşturduğu en küçük uygulama birimidir. Bir pod, aynı fiziksel veya sanal makinede çalışan konteynerlerin bir araya getirilmesiyle oluşur. # ReplicaSet: Belirli bir pod sayısının çalışmasını sağlamak için kullanılan bir kontrol mekanizmasıdır. ReplicaSet, bir pod grubunun belirli bir sayıda çalışmasını sağlar. # Deployment: Uygulama dağıtımı için kullanılan bir kontrol mekanizmasıdır. Deployment, birden fazla replica seti üzerinde çalışır ve uygulamanın istenen durumunu sağlamak için pod'ların sayısını ve durumunu yönetir. # Service: Pod'ların birbirleriyle iletişim kurabilmesi için kullanılan bir ağ kaynağıdır. Bir servis, bir pod grubuna erişmek için bir IP adresi ve DNS adı sağlar. # Namespace: Kubernetes kaynaklarını ve objelerini gruplamak için kullanılan bir mantıksal yapıdır. Her bir namespace, belirli bir uygulama veya kullanım durumu için kaynakları gruplandırır. Bu kavramlar, Kubernetes kullanıcılarına uygulamalarını hızlı ve güvenli bir şekilde yönetme imkanı sağlar. == Dağıtımlar == Çeşitli kurumlar Kubernetes'i dağıtan Kubernetes tabanlı platformlar veya hizmet olarak altyapı (IaaS) sunar. Bunlar şunları içerir: * Alibaba Cloud ACK (Alibaba Cloud Container Service for Kubernetes) * Amazon EKS (Elastic Kubernetes Service) * DigitalOcean tarafından yönetilen Kubernetes Hizmeti * Google GKE (Google Kubernetes Engine) * IBM Cloud Kubernetes Services * Microsoft AKS (Azure Kubernetes Services) * Mirantis K0s * Oracle Container Engine for Kubernetes * Red Hat Openshift * SUSE Rancher Kubernetes Engine (RKE) * VMware Tanzu == Sürüm çizelgesi == Sürüm çizelgesi Sürüm Yayım tarihi Destek sonu Notlar 10 Temmuz 2015 Asıl sürüm 9 Kasım 2015 https://kubernetes.io/blog/2015/11/kubernetes-1-1-performance-upgrades- improved-tooling-and-a-growing-community 16 Mart 2016 23 Ekim 2016 https://kubernetes.io/blog/2016/03/kubernetes-1-2-even-more-performance- upgrades-plus-easier-application-deployment-and-management 1 Temmuz 2016 1 Kasım 2016 https://kubernetes.io/blog/2016/07/kubernetes-1-3-bridging-cloud- native-and-enterprise-workloads 26 Eylül 2016 21 Nisan 2017 https://kubernetes.io/blog/2016/09/kubernetes-1-4-making-it-easy-to-run-on- kuberentes-anywhere 12 Aralık 2016 1 Ekim 2017 https://kubernetes.io/blog/2016/12/kubernetes-1-5-supporting-production- workloads 28 Mart 2017 23 Kasım 2017 https://kubernetes.io/blog/2017/03/kubernetes-1-6-multi-user-multi-workloads- at-scale 30 Haziran 2017 4 Nisan 2018 https://kubernetes.io/blog/2017/06/kubernetes-1-7-security-hardening-stateful- application-extensibility-updates 28 Ağustos 2017 12 Temmuz 2018 https://kubernetes.io/blog/2017/09/kubernetes-18-security-workloads-and 15 Aralık 2017 29 Eylül 2018 https://kubernetes.io/blog/2017/12/kubernetes-19-workloads-expanded-ecosystem 28 Mart 2018 13 Şubat 2019 https://kubernetes.io/blog/2018/03/26/kubernetes-1.10-stabilizing-storage- security-networking 3 Temmuz 2018 1 Mayıs 2019 https://kubernetes.io/blog/2018/06/27/kubernetes-1.11-release-announcement 27 Eylül 2018 8 Temmuz 2019 https://kubernetes.io/blog/2018/09/27/kubernetes-1.12-kubelet-tls-bootstrap- and-azure-virtual-machine-scale-sets-vmss-move-to-general-availability 3 Aralık 2018 15 Ekim 2019 https://kubernetes.io/blog/2018/12/03/kubernetes-1-13-release-announcement 25 Mart 2019 11 Aralık 2019 https://kubernetes.io/blog/2019/03/25/kubernetes-1-14-release-announcement 20 Haziran 2019 6 Mayıs 2020 https://kubernetes.io/blog/2019/06/19/kubernetes-1-15-release-announcement 22 Ekim 2019 2 Eylül 2020 https://kubernetes.io/blog/2019/09/18/kubernetes-1-16-release-announcement 9 Aralık 2019 13 Ocak 2021 https://kubernetes.io/blog/2019/12/09/kubernetes-1-17-release-announcement 25 Mart 2020 18 Haziran 2021 https://kubernetes.io/blog/2020/03/25/kubernetes-1-18-release-announcement 26 Ağustos 2020 28 Ekim 2021 From Kubernetes version 1.19 on, the support window has been extended to one year of full support plus two months of maintenance mode period. https://kubernetes.io/blog/2020/08/26/kubernetes-release-1.19-accentuate-the- paw-sitive 8 Aralık 2020 28 Şubat 2022 https://kubernetes.io/blog/2020/12/08/kubernetes-1-20-release-announcement/ 8 Nisan 2021 28 Haziran 2022 https://kubernetes.io/blog/2021/04/08/kubernetes-1-21-release-announcement/ 4 Ağustos 2021 28 Ekim 2022 https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/ 7 Aralık 2021 28 Şubat 2023 https://kubernetes.io/blog/2021/12/07/kubernetes-1-23-release-announcement/ 3 Mayıs 2022 29 Eylül 2023 https://kubernetes.io/blog/2022/05/03/kubernetes-1-24-release-announcement/ 23 Ağustos 2022 27 Ekim 2023 https://kubernetes.io/blog/2022/08/23/kubernetes-v1-25-release/ === Destek pencereleri === Aşağıdaki tablo, her bir sürümün desteklendiği/desteklendiği dönemi görselleştirir ImageSize = width:1000 height:auto barincrement:35 PlotArea = left:100 right:50 bottom:30 top:10 DateFormat = dd/mm/yyyy Period = from:01/12/2018 till:01/01/2024 TimeAxis = orientation:horizontal ScaleMajor = unit:year increment:1 start:2019 ScaleMinor = unit:month increment:1 start:01/01/2019 Define $dx = 25 # shift text to right side of bar Colors = id:out_of_support value:rgb(0.992,0.702,0.671) legend:Out_of_support id:in- support value:rgb(0.996,0.973,0.776) legend:In_support id:latest value:rgb(0.831,0.957,0.706) legend:Latest_stable_version id:prerelease value:rgb(0.996,0.82,0.627) legend:Preview_version PlotData= mark:(line,black) fontsize:S bar:1.25.x from:23/08/2022 till:27/10/2023 text:1.25.x color:latest bar:1.24.x from:03/05/2022 till:29/09/2023 text:1.24.x color:in-support bar:1.23.x from:07/12/2021 till:28/02/2023 text:1.23.x color:in-support bar:1.22.x from:04/08/2021 till:28/10/2022 text:1.22.x color:in-support bar:1.21.x from:08/04/2021 till:28/06/2022 text:1.21.x color:out_of_support bar:1.20.x from:08/12/2020 till:28/02/2022 text:1.20.x color:out_of_support bar:1.19.x from:26/08/2020 till:28/10/2021 text:1.19.x color:out_of_support bar:1.18.x from:25/03/2020 till:30/04/2021 text:1.18.x color:out_of_support bar:1.17.x from:09/12/2019 till:30/01/2021 text:1.17.x color:out_of_support bar:1.16.x from:18/09/2019 till:25/08/2020 text:1.16.x color:out_of_support bar:1.15.x from:19/06/2019 till:23/03/2020 text:1.15.x color:out_of_support bar:1.14.x from:25/03/2019 till:09/12/2019 text:1.14.x color:out_of_support bar:1.13.x from:03/12/2018 till:18/09/2019 text:1.13.x color:out_of_support == Ayrıca bakınız == * Küme yönetimi yazılımı listesi * Open Service Mesh * OpenShift * Docker == Kaynakça == == Harici bağlantılar == * * Kategori:Apache lisansı kullanan yazılımlar Kategori:Linux Foundation projeleri Kategori:Bulut bilişim için özgür yazılımlar Kategori:Bulut altyapısı Kategori:2014 yazılımları