ඒකක
1. DevOps සහ Cloud AI සඳහා හැඳින්වීම: භූමිකාවන්, සීමා මායිම්, සත්‍යාපනය, ආරක්ෂාව සහ රහස් 2. කෘතිම බුද්ධිය සහිත CI/CD නල මාර්ග සැලසුම් කිරීම: GitHub ක්‍රියා සහ GitLab CI 3. කේතය ලෙස යටිතල පහසුකම් කළමනාකරණය: Terraform සහ IaC සමඟ කෘතිම බුද්ධිය 4. බහාලුම්කරණය: කෘතිම බුද්ධිය සමඟින් ඩොකර්ෆයිල් සහ රූප ප්‍රශස්තකරණය 5. කුබර්නෙටස්: මැනිෆෙස්ට්, හෙල්ම් සහ AI-බලවත් වාද්‍ය වෘන්දය 6. අධීක්‍ෂණය සහ නිරීක්ෂණ හැකියාව: මෙට්‍රික්, ලොග්, ට්‍රේස් සහ එලාම් රීති 7. සිදුවීම් කළමනාකරණය සහ පශ්චාත් මරණ පරීක්ෂණය: කෘතිම බුද්ධිය සමඟ මූල හේතුව විශ්ලේෂණය 8. Cloud Cost Optimization (FinOps): කෘතිම බුද්ධිය සමඟ අපද්‍රව්‍ය සඳහා දඩයම් කිරීම 9. ස්ක්‍රිප්ට් සහ ස්වයංක්‍රීය ජනනය: Bash, Python සහ PowerShell 10. ආරක්ෂාව සහ රහස් කළමනාකරණය: DevSecOps සහ කෘතිම බුද්ධිය 11. නිෂ්පාදන සත්‍යාපනය, මුදා හැරීමේ උපාය මාර්ග සහ අවසානය සිට අවසානය දක්වා AI කාර්ය ප්‍රවාහය
ඒකකය 5 / 11

කුබර්නෙටස්: මැනිෆෙස්ට්, හෙල්ම් සහ AI-බලවත් වාද්‍ය වෘන්දය

ලාභ:

  • Kubernetes හි මූලික වස්තු (Pod, Deployment, Service, ConfigMap, Secret, Namespace) සහ ප්‍රකාශන දර්ශනය තේරුම් ගැනීමට සහ කෘතිම බුද්ධිය සඳහා ඝන ප්‍රකාශන නිපදවීමට ඇති හැකියාව
  • සම්පත් සීමාවන්, සෞඛ්‍ය පරීක්‍ෂණ (පරීක්ෂණ), ස්ථාවර රූප ටැග් සහ පටු RBAC සමඟින් මැනිෆෙස්ට් නිෂ්පාදනය සඳහා සූදානම් කර සුරක්ෂිත කිරීමේ හැකියාව
  • ක්‍රියාත්මක කිරීමට පෙර නිවැරදි සන්දර්භය සත්‍යාපනය කිරීමේ හැකියාව සහ වියලි ධාවන විනය ක්‍රියාත්මක කිරීමේ හැකියාව.

එක් කන්ටේනරයක් ධාවනය කිරීම පහසුය. නමුත් සේවාදායක දුසිම් ගනනක් හරහා බහාලුම් සිය ගණනක් විහිදුවන පද්ධතියක් ස්ථාපිත කිරීම, ඒවායින් එකක් කඩා වැටෙන විට ස්වයංක්‍රීයව නැවත ආරම්භ වේ, බර වැඩි වූ විට එය ප්‍රතිනිර්මාණය කරයි සහ බිංදු අක්‍රිය කාලයකින් එය යාවත්කාලීන කරයිද? එය වාද්‍ය වෘන්දය වන අතර කර්මාන්තයේ සම්මත මෙවලම වන්නේ Kubernetes (කෙටියෙන් K8s) - පොකුරක් හරහා බහාලුම් ස්වයංක්‍රීයව යෙදවීම, පරිමාණය කිරීම සහ කළමනාකරණය කරන වේදිකාව වේ. Kubernetes බලවත් නමුත් සංකීර්ණ වේ: සෑම දෙයක්ම දිගු, ඉන්ඩෙන්ටේෂන්-සංවේදී YAML ගොනු මගින් අර්ථ දක්වා ඇත - මැනිෆෙස්ට් ලෙස හැඳින්වේ. AI නැවුම් වාතය ලබා දෙන ස්ථානය මෙයයි; නිවැරදි සන්දර්භය සමඟ, එය ඉක්මනින් මෙම ප්‍රකාශනයන් නිපදවන අතර ඒවායේ අද්භූත දෝෂ විකේතනය කරයි.

නමුත් Kubernetes හි, වැරදි ප්‍රකාශනයක් යනු සම්පූර්ණ සේවාවක් නැගී සිටීමට අපොහොසත් වීම, වැරදි ලෙස පරිමාණය කිරීම හෝ අවදානමක් අත්හැරීමයි. විශේෂයෙන් kubectl යෙදීමට පෙර AI නිපදවන සෑම ප්‍රකාශනයක්ම තේරුම් ගැනීම සහ සත්‍යාපනය කිරීම ඔබේ වගකීමයි.

Kubernetes මූලික වස්තු

Kubernetes විගණනය කිරීම සඳහා, ඔබ ප්රධාන සංකල්ප දැන සිටිය යුතුය:

  • Pod: කුඩාම වැඩ කරන ඒකකය; එහි බහාලුම් එකක් හෝ කිහිපයක් අඩංගු වේ. සාමාන්‍යයෙන්, Pod සෘජුවම භාවිතා නොකෙරේ, නමුත් එය කළමනාකරණය කරන මව් වස්තූන් භාවිතා වේ.
  • යෙදවීම: යෙදුමක පිටපත් කීයක් ක්‍රියාත්මක වේද, එය භාවිතා කරන්නේ කුමන රූපයද සහ එය යාවත්කාලීන කරන්නේ කෙසේද යන්න නිර්වචනය කරයි. Pod එකක් කඩා වැටුනහොත් එය ස්වයංක්‍රීයව එය ප්‍රතිනිර්මාණය කරයි.
  • සේවාව: ස්ථාවර ජාල ලිපිනයක් සහ කරල් වලට පැටවීම තුලනය සපයයි; Pods ඇවිත් ගියත් access address එක වෙනස් වෙන්නේ නැහැ.
  • ConfigMap සහ Secret: වින්‍යාස අගයන් සහ රහස් තොරතුරු Pods වලින් වෙන්ව තබා ගනී. ConfigMap යනු පැහැදිලි සැකසුම් සඳහා වන අතර, රහස් යනු සංවේදී අගයන් සඳහා වේ.
  • නාම අවකාශය: සම්පත් තාර්කිකව බෙදන සහ හුදකලා කරන ප්‍රදේශය (උදා. dev, prod).
  • ඇතුල්වීම: බාහිර ලෝකයේ සිට HTTP ගමනාගමනය පොකුරේ සේවාවන් වෙත යොමු කරන රීති කට්ටලය.

Helm යනු Kubernetes හි "පැකේජ කළමනාකරු" වේ: එය ඔබට පුනරාවර්තන මැනිෆෙස්ට (ප්‍රස්ථාර) අච්චු කිරීමට සහ තනි විධානයකින් විවිධ පරිසරවල විවිධ අගයන් සමඟ ඒවා ස්ථාපනය කිරීමට ඉඩ සලසයි. AI විසින් raw manifest සහ Helm chart යන දෙකම නිෂ්පාදනය කරයි.

මෙතරම් වස්තූන් ඇත්තේ ඇයි? Kubernetes හි මූලික දර්ශනය ප්‍රකාශනාත්මක බැවින්: ඔබ "පද්ධතිය අවසානයේ දිස් වීමට ඔබට අවශ්‍ය ආකාරය" (උදා: "මෙම යෙදුමේ පිටපත් 3ක් ක්‍රියාත්මක වේ") ඔබ නිර්වචනය කරන අතර, Kubernetes අඛණ්ඩව වත්මන් තත්වය එම අපේක්ෂිත තත්වයට සමීප කරයි. Pod එකක් මිය ගියහොත්, එය අලුත් එකක් නිර්මාණය කරයි; නෝඩයක් පහළට ගියහොත්, එය වැඩ බර වෙනත් නෝඩයකට ගෙන යයි. මැනිෆෙස්ට් යනු "කරන්න" විධාන නොව, "එය එසේ වීමට ඉඩ දෙන්න" වට්ටෝරු වන්නේ එබැවිනි. AI විසින් නිපදවන ප්‍රකාශන කියවීමේදී මෙම වෙනස ග්‍රහණය කර ගැනීම ඉතා වැදගත් වේ: සෑම වසමක්ම පද්ධතියේ අපේක්ෂිත තත්වයේ කොටසක් විස්තර කරයි. වැරදි වසමක් යනු Kubernetes වැරදි ඉලක්කයක් කරා ක්‍රියා කරයි - සහ එම ඉලක්කය නිශ්ශබ්දව, නොකඩවා බලාත්මක වේ.

ඉඟිය: Kubernetes හි, වඩාත් වැදගත් ආරක්ෂිත පරීක්ෂණ මෙවලම වන්නේ kubectl apply --dry-run=server -f file.yaml: එය සේවාදායකය පිළිගන්නේද යන්න සහ මැනිෆෙස්ටය යෙදීමෙන් තොරව කුමක් කළ යුතුද යන්න පෙන්වයි. නිෂ්පාදන සඳහා මැනිෆෙස්ටයක් යෙදීමට පෙර වියළි ධාවනය සහ kubectl diff ධාවනය කිරීමට වග බලා ගන්න.

පියවරෙන් පියවර: AI සමඟ මැනිෆෙස්ට් නිර්මාණය කිරීම

  1. යෙදුම සහ අවශ්යතාවය විස්තර කරන්න. රූපයේ නම, වරාය, අනුරූ කීයක්, සම්පත් සීමාවන් (CPU/මතකය).
  2. යෙදවීම + සේවාව ඉල්ලන්න. සාමාන්යයෙන් දෙකම එකට අවශ්ය වේ.
  3. වින්‍යාසය සහ රහස් වෙන් කරන්න. වින්‍යාස සිතියමට සැකසීම්, රහස් වෙත සංවේදී අගයන්.
  4. සෞඛ්ය පරීක්ෂාවන් එකතු කරන්න. livenessProbe (එය සජීවීද) සහ ReadinessProbe (එය ගමනාගමනය සඳහා සූදානම්ද) ඉතා වැදගත් වේ.
  5. සම්පත් සීමාවක් සකසන්න. ඉල්ලීම්/සීමාවන් නොමැතිව Pod එකකට සම්පූර්ණ node එක පරිභෝජනය කළ හැක.
  6. `--වියළි-ධාවනය` සහ `diff` සමඟ සත්‍යාපනය කරන්න, ඉන්පසු අයදුම් කරන්න. ටෙස්ට් නාම අවකාශයේ පළමුව.

ආරක්ෂාව: Kubernetes-විශේෂිත අවදානම්

  1. රහස ඇත්ත වශයෙන්ම රහසක් නොවේ - එය හුදෙක් මූලික වේ. Kubernetes Secret object base64 අගයන් කේතනය කරයි; මෙය සංකේතනය නොවේ, එය පහසුවෙන් විකේතනය වේ. සැබෑ පෞද්ගලිකත්වය සඳහා, etcd සංකේතනය සහ බාහිර සුරක්ෂිතාගාරය (Vault, cloud රහස් කළමනාකරු) අවශ්‍ය වේ. කිසි විටෙකත් රහස් ප්‍රකාශයන් කෙලින්ම Git වෙත සිදු නොකරන්න (මේ සඳහා මුද්‍රා තැබූ රහස්/බාහිර රහස් වැනි විසඳුම් තිබේ).
  2. සම්පත් සීමාවක් සකසන්න. සීමාවක් නැති Pod එකකට මතක කාන්දුවක් සමඟ සම්පූර්ණ node එක කඩා වැටිය හැක.
  3. අවම අධිකාරිය (RBAC). භූමිකාව පදනම් කරගත් ප්‍රවේශ පාලනය සමඟ, සෑම සේවාවකටම/පරිශීලකයෙකුටම ඇත්තේ එයට අවශ්‍ය අවසරයන් පමණි. AI සමහර විට විශාල පොකුරු-පරිපාලක ලබා දෙයි; මෙය පටු කරන්න.
  4. 'නවතම' රූප ටැගය භාවිතා නොකරන්න. කුමන අනුවාදය ක්‍රියාත්මක වේද යන්න ඔබ නොදන්නා අතර ඔබට එය ආපසු හැරවිය නොහැක.
අවවාදයයි: kubectl මකා දැමීම හෝ වැරදි යෙදීමක් සජීවී යෙදවීමක් විනාශ කළ හැක. විධාන ක්‍රියාත්මක කිරීමට පෙර ඔබ සිටින්නේ කුමන නාම අවකාශයේදැයි තහවුරු කර ගන්න (kubectl config current-context); නිෂ්පාදන සන්දර්භය තුළ අහම්බෙන් වැඩ කිරීම පොදු ව්යසනයකි.

අමු මැනිෆෙස්ට් එදිරිව හෙල්ම් වගුව

නිර්ණායකය

අමු YAML මැනිෆෙස්ටය

හෙල්ම් ප්‍රස්ථාරය

ස්ථාපනය

kubectl apply -f

හෙල්ම් ස්ථාපනය

බහුමාධ්‍ය (dev/prod)

පිටපත් කරන්න, දෝෂ සහිතයි

තනි ප්‍රස්ථාරය, විවිධ අගයන්.yaml

අනුවාදය/ආපසු හැරීම

අතින්

හෙල්ම් ආපසු හැරවීම සමඟ පහසුය

ඉගෙනීමේ වක්රය

අඩු

මධ්යම

කවදාද

කුඩා, තනි පරිසරයක්

බහු මාධ්‍ය, පුනරාවර්තන සේවාව

කුඩා නඩු තුනක්

නඩුව 1 - කඩා වැටුණු සේවාවේ රහස. Pod එකක් නිරන්තරයෙන් නැවත පණගන්වයි (CrashLoopBackOff). කණ්ඩායම ලොග් සහ මැනිෆෙස්ටය AI වෙත ලබා දුන්නේය; AI පෙන්වා දුන්නේ පොඩ් කිසි විටෙකත් "සූදානම්" ලෙස නොසැලකූ බවයි, මන්ද සූදානම ප්‍රෝබ් වැරදි වරාය දෙස බලන බැවිනි. ඔවුන් වරාය සවි කළා, විනාඩි 10 කින් සේවාව ස්ථාවර විය. මෙම සබඳතාව හස්තීයව පිහිටුවීමට පැය ගණනක් ගත විය හැකිය.

නඩුව 2 - සීමාවන් නොසැකීම ගැටය බිඳ දැමීය. යෙදවීමක සීමාවන් නොතිබුණි; මතක කාන්දුවක් Pod පුම්බා සම්පූර්ණ නෝඩයම කඩා වැටුණු අතර, අසල්වැසි සේවාවන් ද පහත වැටුණි. සිද්ධියෙන් පසුව, ඔවුන් "සාධාරණ CPU/memory requests and limits to all Deployments" යැයි පවසන්නට AI සලස්වා එය ප්‍රමිතිගත කළා. එක් අස්ථානගත රේඛාවක් අක්‍රිය කාලය පැය ගණනක් වැය වේ.

නඩුව 3 - විශාල RBAC අල්ලා ගන්නා ලදී. විමර්ශනයක් අතරතුර, AI විසින් ජනනය කරන ලද සේවා ගිණුම් මැනිෆෙස්ටයක් පොකුරු-පරිපාලක භූමිකාවට බැඳී ඇති බව සොයා ගන්නා ලදී - එයින් අදහස් වන්නේ සේවාවට සම්පූර්ණ පොකුරු කළමනාකරණය කළ හැකි බවයි. කණ්ඩායම ඔවුන්ගේ නාම අවකාශයේ Pods කියවීමට පමණක් අවසරය අඩු කළේය. අවම වරප්‍රසාද මූලධර්මය ආරක්ෂක අවදානමක් වසා දැමීය.

පිටපත් කළ හැකි සැකිලි හතරක්

1) යෙදවීම + සේවා නිෂ්පාදනය:

Kubernetes සඳහා යෙදවීම සහ සේවා මැනිෆෙස්ටයක් ලියන්න. යෙදුම: [AD], රූපය: [රූපය: ස්ථාවර-අනුවාදය], වරාය: [X], අනුරුව: [N]. රීති:- CPU/මතක ඉල්ලීම් සහ සීමාවන් එක් කරන්න.- livenessProbe සහ ReadinessProbe නිර්වචනය කරන්න.- ConfigMap වෙතින් වින්‍යාසය කියවන්න, රහස් වස්තුවෙන් රහස; මැනිෆෙස්ටයේ අගයන් ඇතුළත් නොකරන්න, ස්ථාන දරණ භාවිතා කරන්න. - රූප ටැගය ": නවතම" භාවිතා නොකරන්න. විස්තරය සමග දෙන්න.

2) ප්‍රකාශන දෝෂ විසඳීම:

වත්මන් Pod එක [CrashLoopBackOff / Pending / ImagePullBackOff] තත්වයේ ඇත. පහත මැනිෆෙස්ට් සහ 'kubectl විස්තර' ප්‍රතිදානයට අනුව, සම්භාවිතාව අනුපිළිවෙලින් විය හැකි මූල හේතු ලැයිස්තුගත කර එක් එක් සඳහා verify විධානය නිකුත් කරන්න. ප්‍රකාශනය: [YAML] විස්තර කරන්න: [OUTPUT]

3) ආරක්‍ෂාව/අඛණ්ඩතා පරීක්‍ෂාව:

මෙම Kubernetes මැනිෆෙස්ටය පරීක්ෂා කරන්න: සම්පත් සීමාව අස්ථානගත වී තිබේද, එය ප්‍රශ්නය මග හැරී තිබේද, : නවතම ටැගයක් තිබේද, ඕනෑවට වඩා පුළුල් RBAC/අවසරයක් තිබේද, රහස මැනිෆෙස්ටයේ අන්තර්ගතද? සොයාගැනීම් වැදගත්කම අනුව සහ නිවැරදි කිරීම සමඟ ලියන්න. ප්රකාශනය: [YAML]

4) හෙල්ම් ප්‍රස්ථාරයට පරිවර්තනය:

පහත raw මැනිෆෙස්ට් නැවත භාවිත කළ හැකි Helm සටහනක් බවට පරිවර්තනය කරන්න: values.yaml (රූපය, අනුරුව, මූලාශ්‍රය, පරිසරය) වෙත යා යුතු අගයන් මොනවාද? ප්‍රස්ථාර ව්‍යුහය සහ නියැදි අගයන් පෙන්වන්න.yaml.Manifests: [YAML]

දුර්වල ක්ෂණික / ශක්තිමත් විමසුම

දුර්වල: "මගේ යෙදුම සඳහා Kubernetes YAML ලියන්න."

ප්‍රතිඵලය: පරීක්ෂණ රහිත, සීමා රහිත යෙදවීම : අලුත්ම ටැගය, රහස් තැනිතලාව කාවැද්දීම; නිෂ්පාදනයේ අනාරක්ෂිත හා බිඳෙන සුළුය.

ශක්තිමත්: "Kubernetes Deployment + Service ලියන්න. Image myapp:1.4.2, 3 replicas, 8080 ports. CPU 100m-500m, memory 128Mi-512Mi ඉල්ලීම්/සීමා එක් කරන්න. /healthz සඳහා සජීවී පරීක්ෂණයක් යොදන්න, Secreed object for it, Readiness probe for it for /ready. මැනිෆෙස්ටයේ විස්තර සහිතව දෙන්න."

වෙනස: දෙවන කඩිනම් අනුවාදය පරිමාණය, සම්පත් සීමාවන්, සෞඛ්‍ය පරීක්ෂාවන් සහ රහස් රීතිය ලබා දෙයි; නිමැවුම නිෂ්පාදනයට ආසන්න සහ ආරක්ෂිතයි.

පොදු වැරදි

  • සම්පත් සීමාවන් සකස් නොකිරීම. තනි Pod එකකට සම්පූර්ණ node එක පරිභෝජනය කළ හැක.
  • සෞඛ්‍ය පරීක්‍ෂණයක් (පරීක්ෂණයක්) එකතු නොකිරීම Kubernetes හට බිඳවැටුණු/සූදානම් නැති Pod හඳුනා ගත නොහැක.
  • `: අලුත්ම` ටැගය. ක්‍රියාත්මක වන්නේ කුමන අනුවාදයද යන්න පැහැදිලි නැත, එය ආපසු හැරවිය නොහැක.
  • රහස කෙලින්ම Git වෙත භාර දීම. Base64 සංකේතනය නොවේ; හැමෝම එය විසඳයි.
  • වැරදි සන්දර්භයක/නාම අවකාශයක විධාන ක්‍රියාත්මක කිරීම. ප්‍රොඩ් හි කඩා වැටීමට වඩාත් පොදු ක්‍රමය.
  • `--dry-run`/`diff` මඟ හැරීම. ක්‍රියාත්මක කිරීමට පෙර කුමක් සිදුවේදැයි නොපෙනේ.

සාරාංශයක් ලෙස

Kubernetes යනු බලගතු නමුත් සංකීර්ණ වාද්‍ය වෘන්දයක් වන අතර එය පොකුරක් හරහා බහාලුම් ස්වයංක්‍රීයව යෙදවීම, පරිමාණය කිරීම සහ ප්‍රශස්තකරණය කරයි; සෑම දෙයක්ම හෙල්ම් සැකිලි කරන මැනිෆෙස්ට් YAML මගින් අර්ථ දක්වා ඇත. AI ඉක්මනින් යෙදවීම/සේවා ප්‍රකාශන සහ හෙල්ම් ප්‍රස්ථාර නිෂ්පාදනය කරයි, අද්භූත දෝෂ නිරාකරණය කරයි - නමුත් ඔබට සම්පත් සීමාව, සෞඛ්‍ය පරීක්ෂාව, වෙනස් කළ නොහැකි රූප ටැගය, පටු RBAC සහ රහස් ආරක්‍ෂක නීති පැහැදිලිවම ඉල්ලා සිටිය යුතුය. --dry-run, diff සහ නිවැරදි සන්දර්භය පරීක්ෂා කිරීම නිෂ්පාදන බිඳ වැටීම් වලක්වන පුරුදු වේ.

යෙදුම් කාර්යය

"Deployment + Service උත්පාදනය" අච්චුව සහිත නියැදි යෙදුමක් සඳහා AI හට මැනිෆෙස්ටයක් ජනනය කිරීමට සලස්වන්න. ඉන්පසු: (1) එය "ආරක්ෂක/සනීපාරක්ෂාව" අච්චුව සමඟ සම්පත් සීමාව, විමර්ශනය, : නවතම සහ රහස් සඳහා පරීක්ෂා කර තිබේද; (2) kubectl apply --dry-run=සේවාදායකය පරීක්‍ෂණ පොකුරක්/මිනිකුබ් මත ධාවනය කර හැකි නම් ප්‍රතිදානය කියවන්න; (3) ඔබ අස්ථානගත වී ඇති වඩාත්ම තීරණාත්මක ආරක්ෂිත/ශක්තිමත් අයිතම දෙක සටහන් කරන්න.

පිරික්සුම් ලැයිස්තුව

  • [ ] මම මගේ ඉල්ලීමට රූප අනුවාදය, අනුරූ ගණන, වරාය සහ සම්පත් සීමාවන් එක් කළෙමි.
  • [ ] මම මැනිෆෙස්ටයට සජීවී බව සහ සූදානම ගවේෂණය එක් කළෙමි.
  • [ ] රූප ටැගය සවි කර ඇත; මම පාවිච්චි කලේ නෑ :latest.
  • [ ] රහස මැනිෆෙස්ටයේ අන්තර්ගත නොවේ; මම භාවිත කළේ Secret object/external vault.
  • [ ] මම RBAC/අවසර අවම අවසරයකට සීමා කළෙමි.
  • [ ] අයදුම් කිරීමට පෙර, මම නිවැරදි සන්දර්භය තුළ සිටින බව සහ --dry-run/diff outputs බව මම සත්‍යාපනය කළෙමි.