կոնտեյներների համակարգման հարթակի թողարկում , որը թույլ է տալիս մեկ միասնական համակարգով կառավարել հիմաֆատական կոնտեյներների դասը և տրամադրում է մեխանիզմներ, որոնք վերաբերում են գործարկման, սպասարկման և մասշտաբավորման ծավալների վրա լինելու համար: Ծրագիրը սկզբնապես ստեղծվել է Google-ի կողմից, սակայն հետո փոխանցվել է անկախ հարթակ, որը համարվում է Linux Foundation-ի կողմից: Հարթակը տվյալ է որպես զարգացող համայնքի համընդհանուր լուծում, որը չի կապված կոնկրետ համակարգերի և կարող է աշխատել ցանկացած հավելվածների հետ ցանկացած ամպային միջավայրում: Kubernetes-ի կոդը գրված է Go լեզվում և Apache 2.0 անձեռնմխելիության պայմանագրի ներքո։
Պատրաստվում են գործառույթներ ենթակառուցվածքի տեղադրման և կառավարելու համար, ինչպիսիք են DNS-ի հիմքի վարման, բեռնաբաշխման,
կոնտեյները դասավորելը կլաստերի узлы (կոնտեյների տեղափոխում բեռնաշեռների փոփոխման և ծառայությունների պահանջների համաձայն), աշխատանքային մակարդակի ստուգում, հաշիվների կառավարում, գործարկման կրիտիկական թարմացում և տարբերակելի մասշտաբավորում գործում ընտրված փաթեթի մոտեցմամբ: Բարի խմբաքանակներ տրված են իրականացնելու թարմացման գործողություններ և փոփոխությունները անհապաղ: Կարող է լինել նաև տրամաբաշխված հատվածիկ խումբներ, որոնց համար կարող են գործել տվյալները ինչպես տեղի պահպանման, այնպես էլ ցանցային պահպանման համակարգերով:
Kubernetes 1.18-ի թողարկումը ընդգրկում է 38 փոփոխություն և բարելավում, որոնցից 15-ը փոխադրվել են կայուն կարգավիճակում, իսկ 11-ը՝ բետա կարգավիճակում: 12 նոր փոփոխություններ առաջարկվում են ալֆա կարգավիճակում: Նոր տարբերակ անդրադարձ կատարվում էր նաև վերանայմամբ տարբերացի ֆունկցիաների և փորձնական հնարավորությունների կայունացման, այնպես էլ նոր զարգացումների ավելացման համար: Հիմնական փոփոխությունները՝
- Kubectl
- ալֆա-տարբերակում «kubectl debug» հրաման, որը հնարավորություն է տալիս հեշտացնել թերություններն ուսումնական մեջ, գործարկելով էլեմենտային կոնտեյներներ հետքի գործիքներով:
- «kubectl diff» հրաման, որն թույլ է տալիս տեսնել, թե ինչ փոփոխություններ կիրականացվեն կլաստերում, եթե կիրառվի մարմին:
- բոլոր հրամանների «kubectl run» արտադրանքը, բացի մեկական կոնտեյների գործարկման արտադրությունից:
- флаг «—dry-run», կախված նրա արժեքից (client, server և none) փորձնական կուսակցությունը կիրականացվի օգտագործողի կամ серверի կողմն:
- kubectl-ի կոդը 1771 բաժնետիրություն: Սա թույլ է տալիս դիտարկել միջքաղաքական կախվածություններից kubernetes-ն և հեշտացնում է արտահանման կոդը հանուն արտաքին նախագծերում:
- Ingress
- Ingress-ի API խմբի փոփոխություն networking.v1beta1:
- նոր դաշտեր:
- pathType, որը թույլ է տալիս սահմանել, թե ինչ եղանակով կպատասխան լինի մուտքի ճանապարհը
- IngressClassName — փոխարինում kubernetes.io/ingress.class անոտացիային, որը համարվել է հին: Այս դաշտում նշվում է հատուկ IngressClass օբյեկտի անունը
- IngressClass օբյեկտ, որտեղ նշվում է չներգրավելու վերահսկիչը, դրա լրացուցիչ պարամետրերը և օգտագործման նշանը ըստ նախընտրելի ձևի
- Service
- AppProtocol դաշտ, որտեղ կարող եք նշել, թե որն է օգտագործվող պրոտոկոլը ծրագրի համար
- բետա կարգավիճակի ու ներառված по умолчанию EndpointSlicesAPI, որը ավելի ֆունկցիոնալ փոխարինում է սովորական Endpoints-ին։
- Ցանց
- IPv6-ն անցել է բետա կարգավիճակ։
- Անհրաժեշտ սկավառակներ։ Հաստատվել է հետևյալ գործառույթները.
- Ծրագրի կոնֆիգուրացում
- ConfigMap և Secret օբյեկտներին նոր «immutable» դաշտ: Դաշտի true արժեքի սահմանումը արգելում է օբյեկտի փոփոխությունը։
- Նախագծող
- kube-scheduler-ի համար լրացուցիչ պրոֆիլների ստեղծման հնարավորություն։ Եթե մինչ այժմ պահանջվում էր աշխատեցնել լրացուցիչ առանձին պլանավորողներ անհատական ալգորիթմների իրականացման համար, այժմ հնարավոր է ստեղծել լրացուցիչ պարամետրերի հավաքածուներ ստանդարտ պլանավորողի համար և նշել նրա անունը նույն pod-ի «.spec.schedulerName» դաշտում։ Կարգավիճակը — ալֆա։
- հաստատվել է առավելագույն
- Մասշտաբում
- HPA մանիֆեստում նշելու հնարավորություն հանձնարարված պոդերի քանակի փոխելու ագրեսիվությունը, այսինքն, բեռի բարձրացման դեպքում անմիջապես գործարկելու N անգամ ավելի օրինակներ (instance).
- Kubelet
- բետա կարգավիճակի է ստացել։ Երկրով մարզիշման, ինչը թույլ է տալիս խուսափել կատարողականի նվազում մուլտի-ցյունյակային համակարգերում։
- Բետա կարգավիճակ PodOverhead գործառույթ, որը թույլ է տալիս RuntimeClass-ում նշել պոդի գործարկման համար անհրաժեշտ լրացուցիչ ռեսուրսների քանակը։
- HugePages աջակցություն, ալֆա կարգավիճակում ավելացվել է ծավալային ալջավորվածությունը և մի քանի չափի hugepages աջակցություն։
- էնդփոյթ մետրիկների համար /metrics/resource/v1alpha1, դրա փոխարեն օգտագործվում է /metrics/resource
- API
- Հեռացվել է հին API խմբերի օգտագործելու հնարավորությունը apps/v1beta1 և extensions/v1beta1։
- բարձրացել է բետա կարգավիճակի 2: Սա բարելավում է օբյեկտների մանիպուլյացիան kubectl-ից API-սերվերին։ բարելավման հեղինակները պնդում են, որ սա թույլ կտա վերանայել բազմաթիվ առկա սխալներ, որոնք անհնար է ուղղել ներկայիս իրավիճակում։ Նրանք նաև ավելացրեցին «.metadata.managedFields» բաժինը, որտեղ առաջարկում են պահել օբյեկտի փոփոխությունների պատմությունը, նշելով, թե ով, երբ և ինչ փոփոխություն է կատարել։
- կայուն CertificateSigningRequest API։
- Windows պլատֆորմի աջակցություն։
- Windows node-ի աջակցությունը շարունակվում է ընդլայնվել։ Ավելացվել են ալֆա տարբերակները.
- Ավելի կայուն կարգավիճակ ունեցավ աջակցությունը
- Windows node-ի աջակցությունը շարունակվում է ընդլայնվել։ Ավելացվել են ալֆա տարբերակները.
Ընտանիք: opennet.ru
