ឧបករណ៍ 11 ដែលធ្វើឱ្យ Kubernetes កាន់តែប្រសើរឡើង

ឧបករណ៍ 11 ដែលធ្វើឱ្យ Kubernetes កាន់តែប្រសើរឡើង

មិនមែនគ្រប់វេទិកាម៉ាស៊ីនមេទេ សូម្បីតែខ្លាំងបំផុត និងអាចធ្វើមាត្រដ្ឋានបាន បំពេញតម្រូវការទាំងអស់ដូចដែលពួកគេមាន។ ខណៈពេលដែល Kubernetes ដំណើរការបានល្អដោយខ្លួនឯង វាអាចខ្វះផ្នែកត្រឹមត្រូវដើម្បីបំពេញ។ អ្នកនឹងរកឃើញករណីពិសេសដែលមិនអើពើនឹងតម្រូវការរបស់អ្នកជានិច្ច ឬកន្លែងដែល Kubernetes នឹងមិនដំណើរការលើការដំឡើងលំនាំដើម ដូចជាការគាំទ្រមូលដ្ឋានទិន្នន័យ ឬប្រតិបត្តិការស៊ីឌី។

នេះគឺជាកន្លែងដែលកម្មវិធីបន្ថែម ផ្នែកបន្ថែម និងអត្ថប្រយោជន៍ផ្សេងទៀតសម្រាប់អ្នករៀបចំកុងតឺន័រនេះលេចឡើង ដែលគាំទ្រដោយសហគមន៍ធំទូលាយបំផុត។ នៅក្នុងអត្ថបទនេះ នឹងមានរឿងល្អៗចំនួន 11 ដែលយើងបានរកឃើញ។ យើងខ្លួនយើងនៅក្នុង សៅប្រ៊ីត ពួកគេគួរឱ្យចាប់អារម្មណ៍ខ្លាំងណាស់ ហើយយើងមានគម្រោងដោះស្រាយជាមួយពួកគេដោយអនុវត្តជាក់ស្តែង ដើម្បីរុះរើពួកវាទៅជាវីស និងគ្រាប់ ហើយមើលអ្វីដែលនៅខាងក្នុង។ ពួកវាមួយចំនួននឹងបំពេញបន្ថែមយ៉ាងល្អឥតខ្ចោះនូវចង្កោម Kubernetes ណាមួយ ខណៈពេលដែលកម្មវិធីផ្សេងទៀតនឹងជួយដោះស្រាយកិច្ចការជាក់លាក់ដែលមិនត្រូវបានអនុវត្តនៅក្នុងការចែកចាយ Kubernetes ធម្មតា។

Gatekeeper: ការគ្រប់គ្រងគោលនយោបាយ

គម្រោង បើកភ្នាក់ងារគោលនយោបាយ (OPA) ផ្តល់នូវសមត្ថភាពក្នុងការបង្កើតគោលការណ៍នៅលើកំពូលនៃបណ្តុំកម្មវិធីពពកនៅក្នុង Kubernetes ពីច្រកចូលរហូតដល់បណ្តាញសេវា។ អ្នកយាមទ្វារ។ ផ្តល់ឱ្យ Kubernetes នូវសមត្ថភាពដើមក្នុងការអនុវត្តគោលនយោបាយនៅលើចង្កោមដោយស្វ័យប្រវត្តិ ហើយថែមទាំងផ្តល់ការត្រួតពិនិត្យសម្រាប់ព្រឹត្តិការណ៍ ឬធនធានទាំងឡាយណាដែលបំពានគោលការណ៍។ ទាំងអស់នេះត្រូវបានដោះស្រាយដោយយន្តការ Kubernetes ថ្មីដែលជាអ្នកគ្រប់គ្រងការចូលរៀនរបស់ Webhooks ដែលដំណើរការនៅពេលធនធានផ្លាស់ប្តូរ។ ជាមួយនឹង Gatekeeper គោលការណ៍ OPA ក្លាយជាផ្នែកមួយផ្សេងទៀតនៃស្ថានភាពនៃក្រុម Kubernetes របស់អ្នកដោយមិនចាំបាច់មានការត្រួតពិនិត្យជាប្រចាំ។

ទំនាញ៖ ចង្កោម Kubernetes ចល័ត

ប្រសិនបើអ្នកចង់ដាក់ឱ្យដំណើរការកម្មវិធីទៅ Kubernetes កម្មវិធីជាច្រើនមានតារាង Helm ដែលណែនាំ និងធ្វើឱ្យដំណើរការនេះដំណើរការដោយស្វ័យប្រវត្តិ។ ប៉ុន្តែចុះយ៉ាងណាបើអ្នកចង់យកចង្កោម Kubernetes របស់អ្នក "ដូចដែលមាន" ហើយរមៀលវាទៅកន្លែងផ្សេង?

ទំនាញ ថតរូបភាពនៃចង្កោម Kubernetes បញ្ជីឈ្មោះរបស់ពួកគេសម្រាប់រូបភាពកុងតឺន័រ ក៏ដូចជាកម្មវិធីដែលកំពុងដំណើរការដែលហៅថា "កញ្ចប់កម្មវិធី"។ កញ្ចប់បែបនេះដែលជាឯកសារធម្មតា។ .tarអាចចម្លងចង្កោមនៅកន្លែងណាដែល Kubernetes អាចដំណើរការបាន។

Gravity ក៏ពិនិត្យមើលថាហេដ្ឋារចនាសម្ព័ន្ធគោលដៅមានឥរិយាបទដូចគ្នាទៅនឹងហេដ្ឋារចនាសម្ព័ន្ធប្រភព ហើយបរិស្ថាន Kubernetes នៅលើគោលដៅមានផងដែរ។ កំណែបង់ថ្លៃរបស់ Gravity ក៏បន្ថែមមុខងារសុវត្ថិភាព រួមទាំង RBAC និងសមត្ថភាពក្នុងការធ្វើសមកាលកម្មការកំណត់សុវត្ថិភាពនៅទូទាំងការដាក់ពង្រាយចង្កោមផ្សេងៗគ្នា។

ការចេញផ្សាយដ៏សំខាន់ចុងក្រោយបំផុតគឺ Gravity 7 អាចរុញរូបភាពទំនាញចូលទៅក្នុងចង្កោម Kubernetes ដែលមានស្រាប់ ជំនួសឱ្យការបង្វិលចង្កោមថ្មីទាំងស្រុងពីរូបភាព។ Gravity 7 ក៏អាចធ្វើការជាមួយចង្កោមដែលបានដំឡើងដោយមិនប្រើរូបភាពទំនាញ។ Gravity ក៏គាំទ្រ SELinux ផងដែរ ហើយដំណើរការជាមួយ Teleport SSH gateway ។

Kaniko: ការកសាងកុងតឺន័រនៅក្នុងចង្កោម Kubernetes

រូបភាពកុងតឺន័រភាគច្រើនត្រូវបានបង្កើតឡើងនៅលើប្រព័ន្ធនៅខាងក្រៅជង់កុងតឺន័រ។ ទោះយ៉ាងណាក៏ដោយ ពេលខ្លះអ្នកត្រូវបង្កើតរូបភាពនៅខាងក្នុងធុងផ្ទុក ដូចជាកន្លែងណាមួយនៅក្នុងកុងតឺន័រដែលកំពុងដំណើរការ ឬនៅក្នុងចង្កោម Kubernetes។

កានីកូ បង្កើតកុងតឺន័រនៅក្នុងបរិយាកាសកុងតឺន័រ ប៉ុន្តែដោយមិនអាស្រ័យលើសេវាកម្មកុងតឺន័រ ដូចជា Docker ជាដើម។ ផ្ទុយទៅវិញ Kaniko ទាញយកប្រព័ន្ធឯកសារចេញពីរូបភាពមូលដ្ឋាន ប្រតិបត្តិពាក្យបញ្ជាបង្កើតទំហំអ្នកប្រើប្រាស់ទាំងអស់នៅលើប្រព័ន្ធឯកសារដែលបានស្រង់ចេញ ដោយថតរូបប្រព័ន្ធឯកសារបន្ទាប់ពីពាក្យបញ្ជានីមួយៗ។

ចំណាំ៖ បច្ចុប្បន្ន Kaniko (ឧសភា 2020, ប្រហែល អ្នកបកប្រែ) មិនអាចបង្កើត Windows containers បានទេ។

Kubecost៖ ជម្រើសតម្លៃចាប់ផ្តើម Kubernetes

ឧបករណ៍គ្រប់គ្រង Kubernetes ភាគច្រើនផ្តោតលើភាពងាយស្រួលនៃការប្រើប្រាស់ ការត្រួតពិនិត្យ ការយល់ដឹងអំពីអាកប្បកិរិយានៅក្នុងផត និងអ្វីៗផ្សេងទៀត។ ប៉ុន្តែចុះយ៉ាងណាចំពោះការត្រួតពិនិត្យការចំណាយ - ជារូប្លិង និងកូប៉េក - ទាក់ទងនឹងការបើកដំណើរការ Kubernetes?

Kubecost ដំណើរការប៉ារ៉ាម៉ែត្រ Kubernetes ក្នុងពេលវេលាជាក់ស្តែង ដែលបណ្តាលឱ្យមានព័ត៌មានអំពីការចំណាយថ្មីៗពីក្រុមដែលកំពុងដំណើរការនៅក្រុមហ៊ុនផ្តល់សេវាពពកធំៗ ដែលបង្ហាញនៅក្នុងបន្ទះជាមួយនឹងតម្លៃប្រចាំខែក្នុងមួយចង្កោម។ តម្លៃសម្រាប់ RAM, ពេលវេលា CPU, GPU និងប្រព័ន្ធរងថាសត្រូវបានបំបែកដោយសមាសធាតុ Kubernetes (កុងតឺន័រ ផត សេវាកម្ម។ល។)

Kubecost ក៏តាមដានតម្លៃនៃធនធានដែលមិនមែនជាចង្កោមដូចជា Amazon S3 buckets ទោះបីជាវាត្រូវបានកំណត់ដោយ AWS ក៏ដោយ។ ទិន្នន័យតម្លៃអាចត្រូវបានផ្ញើទៅ Prometheus ដូច្នេះអ្នកអាចប្រើវាដើម្បីផ្លាស់ប្តូរឥរិយាបថរបស់ចង្កោមតាមកម្មវិធី។

Kubecost អាចប្រើដោយឥតគិតថ្លៃ ប្រសិនបើអ្នកមានទិន្នន័យកំណត់ហេតុរយៈពេល 15 ថ្ងៃគ្រប់គ្រាន់។ សម្រាប់លក្ខណៈពិសេសបន្ថែម តម្លៃចាប់ផ្តើមនៅ $199 ក្នុងមួយខែសម្រាប់ការត្រួតពិនិត្យ 50 nodes ។

KubeDB៖ កំពុងដំណើរការមូលដ្ឋានទិន្នន័យសមរភូមិនៅក្នុង Kubernetes

មូលដ្ឋានទិន្នន័យក៏ពិបាកក្នុងការដំណើរការដ៏អស្ចារ្យនៅក្នុង Kubernetes ផងដែរ។ អ្នកនឹងរកឃើញប្រតិបត្តិករ Kubernetes សម្រាប់ MySQL, PostgreSQL, MongoDB និង Redis ប៉ុន្តែពួកគេទាំងអស់មានគុណវិបត្តិ។ ផងដែរ សំណុំលក្ខណៈពិសេស Kubernetes ធម្មតាមិនដោះស្រាយដោយផ្ទាល់នូវបញ្ហាមូលដ្ឋានទិន្នន័យដែលបានកំណត់ភាគច្រើននោះទេ។

KubeDB ជួយអ្នកបង្កើតសេចក្តីថ្លែងការណ៍ Kubernetes របស់អ្នកសម្រាប់ការគ្រប់គ្រងមូលដ្ឋានទិន្នន័យ។ ការដំណើរការការបម្រុងទុក ការក្លូន ការត្រួតពិនិត្យ រូបថត និងការបង្កើតមូលដ្ឋានទិន្នន័យប្រកាសគឺជាផ្នែកធាតុផ្សំរបស់វា។ ចំណាំថាការគាំទ្រលក្ខណៈពិសេសគឺអាស្រ័យលើមូលដ្ឋានទិន្នន័យ។ ឧទាហរណ៍ ការបង្កើតចង្កោមដំណើរការសម្រាប់ PostgreSQL ប៉ុន្តែមិនមែនសម្រាប់ MySQL (រួចទៅហើយ មាន ដូចដែលបានចង្អុលបង្ហាញយ៉ាងត្រឹមត្រូវ។ dnbstd, ប្រហែល អ្នកបកប្រែ).

Kube-monkey: Chaos Monkey សម្រាប់ Kubernetes

វិធីសាស្រ្តគ្មានកំហុសបំផុតនៃការធ្វើតេស្តភាពតានតឹងត្រូវបានចាត់ទុកថាជាការបំបែកដោយចៃដន្យ។ ទ្រឹស្ដីនេះគឺជាបេះដូងនៃ Chaos Monkey របស់ក្រុមហ៊ុន Netflix Inc ដែលជាឧបករណ៍វិស្វកម្មដ៏ច្របូកច្របល់ដែលបិទម៉ាស៊ីននិម្មិត និងធុងបរិស្ថានផលិតកម្មដោយចៃដន្យ ដើម្បី "លើកទឹកចិត្ត" អ្នកអភិវឌ្ឍន៍ឱ្យបង្កើតប្រព័ន្ធធន់បន្ថែមទៀត។ kube-ស្វា - ការអនុវត្តទ្រឹស្តីមូលដ្ឋានដូចគ្នានៃការធ្វើតេស្តភាពតានតឹងសម្រាប់ក្រុម Kubernetes ។ វាដំណើរការដោយការសម្លាប់ម៉ូឌុលដោយចៃដន្យនៅក្នុងចង្កោមដែលអ្នកកំណត់ ហើយក៏អាចត្រូវបានកំណត់ឱ្យដំណើរការនៅចន្លោះពេលជាក់លាក់មួយ។

Kubernetes Ingress Controller សម្រាប់ AWS

Kubernetes ផ្តល់សេវាតុល្យភាពបន្ទុកខាងក្រៅ និងបណ្តាញចង្កោម តាមរយៈសេវាកម្មដែលហៅថា Ingress AWS ផ្តល់នូវមុខងារផ្ទុកបន្ទុក ប៉ុន្តែមិនបាច់ពួកវាដោយស្វ័យប្រវត្តិជាមួយនឹងលក្ខណៈពិសេស Kubernetes ដូចគ្នានោះទេ។ Kubernetes Ingress Controller សម្រាប់ AWS បិទគម្លាតនេះ។

វាគ្រប់គ្រងធនធាន AWS ដោយស្វ័យប្រវត្តិសម្រាប់ការបញ្ចូលនីមួយៗនៅក្នុងចង្កោម បង្កើតតុល្យភាពផ្ទុកសម្រាប់ធនធានចូលថ្មី និងលុបតុល្យភាពផ្ទុកនៅពេលធនធានត្រូវបានដកចេញ។ វាប្រើ CloudFormation ដើម្បីប្រាកដថាស្ថានភាពចង្កោមនៅជាប់គ្នា។ វាក៏គាំទ្រការកំណត់សំឡេងរោទិ៍ CloudWatch និងគ្រប់គ្រងដោយស្វ័យប្រវត្តិនូវធាតុផ្សេងទៀតដែលប្រើក្នុងចង្កោម ដូចជាវិញ្ញាបនបត្រ SSL និង EC2 Auto Scaling Groups។

Kubespray៖ ការដំឡើង Kubernetes ដោយស្វ័យប្រវត្តិ

Kubespray ធ្វើឱ្យការដំឡើងដោយស្វ័យប្រវត្តិនូវចង្កោម Kubernetes ដែលផលិតរួចជាស្រេច ចាប់ពីការដំឡើងនៅលើម៉ាស៊ីនមេផ្នែករឹង រហូតដល់ពពកសាធារណៈធំៗ។ វាប្រើ Ansible (ជម្រើស Vagrant) ដើម្បីចាប់ផ្តើមការដាក់ពង្រាយ និងបង្កើតចង្កោមដែលអាចរកបានខ្ពស់ពីដំបូងជាមួយនឹងជម្រើសនៃកម្មវិធីបន្ថែមបណ្តាញរបស់អ្នក (ដូចជា Flannel, Calico ជាដើម) លើជម្រើសនៃការចែកចាយលីនុចដ៏ពេញនិយមរបស់អ្នក នៅពេលដំឡើងនៅលើម៉ាស៊ីនមេផ្នែករឹង។

Skaffold៖ ការអភិវឌ្ឍន៍ដដែលៗសម្រាប់ Kubernetes

Skaffold - ឧបករណ៍មួយរបស់ Google ដែលប្រើដើម្បីរៀបចំស៊ីឌីកម្មវិធីនៅក្នុង Kubernetes ។ ដរាបណាអ្នកធ្វើការផ្លាស់ប្តូរកូដប្រភព skaffold រកឃើញវាដោយស្វ័យប្រវត្តិ ចាប់ផ្តើមសាងសង់ និងដាក់ពង្រាយ ហើយព្រមានអ្នកប្រសិនបើមានកំហុសណាមួយ។ Skaffold ដំណើរការទាំងស្រុងនៅផ្នែកអតិថិជន ដូច្នេះវាអាចមានភាពខុសប្លែកគ្នាតិចតួចជាមួយនឹងការដំឡើង ឬការធ្វើបច្ចុប្បន្នភាព។ វាអាចត្រូវបានប្រើជាមួយបំពង់ CICD ដែលមានស្រាប់ ក៏ដូចជាអន្តរកម្មជាមួយឧបករណ៍សាងសង់ខាងក្រៅមួយចំនួន ភាគច្រើនជា Bazel របស់ Google ។

Teresa: PaaS សាមញ្ញបំផុតនៅលើ Kubernetes

Teresa គឺជាប្រព័ន្ធដាក់ពង្រាយកម្មវិធីដែលដំណើរការ PaaS ដ៏សាមញ្ញមួយនៅលើកំពូល Kubernetes ។ អ្នកប្រើប្រាស់ជាក្រុមអាចដាក់ពង្រាយ និងគ្រប់គ្រងកម្មវិធីផ្ទាល់ខ្លួនរបស់ពួកគេ។ វាធ្វើឱ្យអ្វីៗកាន់តែងាយស្រួលសម្រាប់អ្នកដែលជឿទុកចិត្តលើកម្មវិធីនេះ ហើយមិនចង់ដោះស្រាយជាមួយ Kubernetes និងភាពស្មុគស្មាញទាំងអស់របស់វា។

លំអៀង៖ ស្ទ្រីមបច្ចុប្បន្នភាពកុងតឺន័រទៅក្រុម Kubernetes

លំអៀងដែលត្រូវបានបង្កើតឡើងដោយ Windmill Engineering ត្រួតពិនិត្យការផ្លាស់ប្តូរទៅ Dockerfiles ផ្សេងៗគ្នា ហើយបន្ទាប់មកដាក់ពង្រាយកុងតឺន័រដែលសមស្របជាបណ្តើរៗទៅកាន់ក្រុម Kubernetes ។ នៅក្នុងខ្លឹមសារ វាអនុញ្ញាតឱ្យអ្នកធ្វើបច្ចុប្បន្នភាពចង្កោមផលិតកម្មក្នុងពេលវេលាជាក់ស្តែងដោយគ្រាន់តែធ្វើបច្ចុប្បន្នភាព Dockerfiles ។ ភាពលំអៀងបង្កើតនៅខាងក្នុងចង្កោម កូដប្រភពគឺជាអ្វីដែលត្រូវផ្លាស់ប្តូរ។ អ្នកក៏អាចថតរូបភាពនៃស្ថានភាពចង្កោម និងចាប់យកលក្ខខណ្ឌកំហុសដោយផ្ទាល់ពី Tilt ដើម្បីចែករំលែកជាមួយសមាជិកក្រុមសម្រាប់ការកែកំហុស។

PS ឧបករណ៍ទាំងអស់នេះយើងមានម្តងហើយម្តងទៀត សៅប្រ៊ីត ស៊ើបអង្កេតដោយដៃចង់ដឹងចង់ឃើញរបស់យើង។ ដើម្បីបង្ហាញការអនុវត្តជាក់ស្តែងរួចហើយ (សង្ឃឹមថា!) នៅឯការផ្តោតអារម្មណ៍ក្រៅបណ្តាញក្នុងខែកុម្ភៈ។ មូលដ្ឋាន Kubernetes ថ្ងៃទី 8-10 ខែកុម្ភៈ ឆ្នាំ 2021។ និង Kubernetes Mega ថ្ងៃទី 12-14 ខែកុម្ភៈ។ និយាយដោយស្មោះត្រង់ យើងក៏នឹកបរិយាកាសដ៏កក់ក្តៅ និងថាមពលនៃការរៀនក្រៅបណ្តាញផងដែរ។ មិនថាបច្ចេកវិទ្យាទំនើបប៉ុណ្ណានោះទេ ពួកវានឹងមិនជំនួសការទំនាក់ទំនងរបស់មនុស្សផ្ទាល់ និងបរិយាកាសពិសេសនោះទេ នៅពេលដែលមនុស្សដែលមានគំនិតដូចគ្នាប្រមូលផ្តុំគ្នា។

ប្រភព: www.habr.com

បន្ថែមមតិយោបល់