udgivelsen af container orchestration platformen , der giver mulighed for at styre en klynge af isolerede containere som en helhed og tilbyder mekanismer til implementering, vedligeholdelse og skalering af applikationer, der kører i containere. Projektet blev oprindeligt oprettet af Google, men blev senere overført til en uafhængig platform, der styres af Linux Foundation. Platformen præsenteres som en community-drevet universalløsning, der ikke er bundet til specifikke systemer og kan arbejde med enhver applikation i ethvert cloud-miljø. Koden til Kubernetes er skrevet i Go og er under Apache 2.0-licensen.
tilbyder funktioner til implementering og administration af infrastruktur såsom vedligeholdelse af DNS-databaser, belastningsbalancering,
fordeling af containere over klyngeknudepunkter (migrering af containere baseret på ændringer i belastning og servicebehov), sundhedstjek på applikationsniveau, kontoadministration, opdatering og dynamisk skalerering af den kørende klynge uden nedetid. Det er muligt at implementere grupper af containere med opdateringer og rollback-operationer for hele gruppen på én gang, samt logisk opdeling af klyngen med ressourceadskillelse. Der er support for dynamisk migrering af applikationer, for hvilke både lokale lagringsløsninger og netværkslagringssystemer kan anvendes.
Udgivelsen af Kubernetes 1.18 inkluderer 38 ændringer og forbedringer, hvoraf 15 er blevet ændret til stabil status, mens 11 er blevet ændret til beta status. 12 nye ændringer er foreslået i alfa status. Ved forberedelsen af den nye version blev der lagt lige stor vægt på at forbedre forskellige funktionaliteter og stabilisere eksperimentelle muligheder samt at tilføje nye funktioner. De vigtigste ændringer:
- Kubectl
- alfa-versionen af 'kubectl debug' kommandoen, der gør det lettere at debugge i pods ved at starte efemære containere med debug-værktøjer.
- kommandoen 'kubectl diff', der gør det muligt at se, hvad der vil ændres i klyngen, hvis manifestet anvendes.
- alle generatorer af 'kubectl run' kommandoen, bortset fra generatoren til at starte en enkelt pod.
- Flaggen «—dry-run», afhængigt af værdien (client, server og none), udføres prøveudførelsen af kommandoen på klient- eller serversiden.
- kubectl-kode i et separat repository. Dette har gjort det muligt at adskille kubectl fra interne afhængigheder af Kubernetes og lette importen af koden til tredjepartsprojekter.
- Ingress
- ændring af API-gruppe for Ingress til networking.v1beta1.
- nye felter:
- pathType, hvilket gør det muligt at angive, hvordan stien i anmodningen skal sammenlignes
- IngressClassName — en erstatning for annoteringen kubernetes.io/ingress.class, som er deprecateret. I dette felt angives navnet på det særlige IngressClass-objekt.
- IngressClass-objektet, hvor navnet på ingress-controlleren, dens yderligere parametre og en indikation af, om den skal bruges som standard, angives.
- Service
- feltet AppProtocol, hvor det specificeres, hvilken protokol applikationen bruger.
- til beta-status og inkluderet som standard EndpointSlicesAPI, som er en mere funktionel erstatning for de almindelige Endpoints.
- Netværk
- IPv6 er oversat til beta-status.
- Permanent disk. Den følgende funktionalitet er erklæret stabil:
- Konfiguration af applikationen
- I ConfigMap- og Secret-objekter et nyt felt «immutable». At sætte værdien af feltet til true forhindrer ændringer af objektet.
- Scheduler
- muligheden for at oprette ekstra profiler til kube-scheduler. Tidligere var det nødvendigt at køre ekstra separate schedulers for at implementere ikke-standard fordelingsalgoritmer, men nu er der mulighed for at oprette ekstra indstillingssæt til den standard scheduler og angive dens navn i det samme pod-felt «.spec.schedulerName». Status — alpha.
- er erklæret stabil
- Skalering
- muligheden for at angive i HPA-manifestet graden af aggressivitet ved ændring af antallet af kørende pods, det vil sige ved stigende belastning at starte straks N gange flere instanser.
- usageNanoCores
- har fået beta-status. Funktionen inkluderer NUMA-fordeling, hvilket hjælper med at undgå nedgradering af ydeevnen på multi-socket-systemer.
- Beta-status funktionen PodOverhead, der gør det muligt at angive i RuntimeClass det ekstra antal ressourcer, der kræves for at starte en pod.
- støtte for HugePages, container isolering i alfa-stand er tilføjet, samt støtte for flere størrelser af hugepages.
- endepunkt for metrics /metrics/resource/v1alpha1, i stedet bruges /metrics/resource
- API
- muligheden for at bruge den forældede API-gruppe apps/v1beta1 og extensions/v1beta1 er fjernet.
- opgraderet til beta2-status. Denne forbedring flytter objektmanipulation fra kubectl til API-serveren. Forfatterne af forbedringen hævder, at det vil kunne løse mange eksisterende fejl, der ikke kan rettes i den nuværende situation. Desuden har de tilføjet sektionen «.metadata.managedFields», som foreslår at opbevare ændringshistorikken for objektet, med angivelse af hvem, hvornår og hvad der præcist blev ændret.
- stabilt CertificateSigningRequest API.
- Understøttelse af Windows-platformen.
- Understøttelsen af Windows-noden fortsætter med at udvides. Alpha-versioner tilføjet:
- er overført til stabil status støtte
- Understøttelsen af Windows-noden fortsætter med at udvides. Alpha-versioner tilføjet:
Kilde: opennet.ru
