Kubernetes සම්පත් යාවත්කාලීන කිරීම සඳහා විකල්ප කිහිපයක් ඇත: අයදුම් කරන්න, සංස්කරණය කරන්න, පැච් කරන්න සහ ප්රතිස්ථාපනය කරන්න. එක එක්කෙනා කරන දේවල් සහ ඒවා පාවිච්චි කරන වෙලාව ගැන අවුල් තියෙනවා. අපි එය තේරුම් ගනිමු.
නම් kubectl patch
, සැසඳීම ඇතුළත් නොවේ apply
и patch
. මෙම ලිපිය විවිධ විකල්ප මෙන්ම, එක් එක් නිසි භාවිතය දෙස බලනු ඇත.
Kubernetes සම්පතක ජීවන චක්රය තුළ (සේවාව, යෙදවීම, ඇතුල්වීම, ආදිය), සමහර විට ඔබට මෙම සම්පතේ සමහර ගුණාංග වෙනස් කිරීමට, එකතු කිරීමට හෝ ඉවත් කිරීමට අවශ්ය වේ. උදාහරණයක් ලෙස, සටහනක් එක් කරන්න, අනුරූ ගණන වැඩි කරන්න හෝ අඩු කරන්න.
Kubernetes CLI
ඔබ දැනටමත් CLI හරහා Kubernetes පොකුරු සමඟ වැඩ කරන්නේ නම්, ඔබ දැනටමත් හුරුපුරුදුය apply
и edit
. කණ්ඩායම apply
ගොනුවේ ඇති සම්පත් පිරිවිතර කියවා Kubernetes පොකුරට "උඩු" කරයි, i.e. සම්පත් නොපවතියි නම් එය නිර්මාණය කරයි සහ එය පවතී නම් එය යාවත්කාලීන කරයි. කණ්ඩායම edit
API හරහා සම්පතක් කියවයි, පසුව සම්පත් පිරිවිතර දේශීය ගොනුවකට ලියයි, එය පසුව පෙළ සංස්කාරකයක විවෘත වේ. ඔබ ගොනුව සංස්කරණය කර සුරැකීමෙන් පසුව, kubectl
API හරහා සිදු කරන ලද වෙනස්කම් ආපසු යවනු ඇත, මෙම වෙනස්කම් සම්පතට ප්රවේශමෙන් යොදනු ඇත.
හැමෝම විධාන දන්නේ නැහැ patch
и replace
. කණ්ඩායම patch
විධාන රේඛාවේ වෙනස් කළ කොටස පමණක් සපයන සම්පත් පිරිවිතරයක කොටසක් වෙනස් කිරීමට ඔබට ඉඩ සලසයි. කණ්ඩායම replace
ලෙසම ක්රියා කරයි edit
, නමුත් සෑම දෙයක්ම අතින් සිදු කළ යුතුය: ඔබ සම්පත් පිරිවිතරයේ වත්මන් අනුවාදය බාගත කළ යුතුය, උදාහරණයක් ලෙස, භාවිතා කිරීම kubectl get -o yaml
, එය සංස්කරණය කරන්න, පසුව භාවිතා කරන්න replace
වෙනස් කළ පිරිවිතරයන්ට අනුව සම්පතක් යාවත්කාලීන කිරීමට. කණ්ඩායම replace
සම්පත් කියවීම සහ ප්රතිස්ථාපනය අතර යම් වෙනසක් සිදුවී ඇත්නම් ක්රියා නොකරනු ඇත.
Kubernetes API
ඔබ බොහෝ විට ක්රම ගැන හුරුපුරුදු විය හැකිය CoreV1().Pods().Update()
, replaceNamespacedService
හෝ patch_namespaced_deployment
, ඔබ හරහා පොකුරු සමඟ වැඩ කරන්නේ නම් PUT
и PATCH
... එහි update
и replace
භාවිතා කරන්න PUT
හා patch
, එය කොතරම් සුළු දෙයක් වුවත්, භාවිතා කරයි PATCH
.
එය සඳහන් කිරීම වටී kubectl
API හරහා පොකුරු සමඟද ක්රියා කරයි. වෙනත් විදිහකින්, kubectl
සම්මත API හැකියාවන්ට අමතරව වඩාත් සංයුක්ත සහ කියවිය හැකි ආකාරයෙන් උප විධාන සැපයීමේ හැකියාව බොහෝ දුරට සපයන Go භාෂාව සඳහා සේවාදායක පුස්තකාලය මත ඇති දවටනයකි. උදාහරණයක් ලෙස, ඔබ දැනටමත් දැක ඇති පරිදි, ක්රමය apply
පෙර ඡේදයේ ඉහත සඳහන් කර නැත. දැනට (2020 මැයි, ආසන්න වශයෙන් පරිවර්තකයා) සියලු තර්ක kubectl apply
, i.e. නොපවතින සම්පත් නිර්මාණය කිරීම සහ පවතින ඒවා යාවත්කාලීන කිරීම, සම්පූර්ණයෙන්ම කේත පැත්තේ ක්රියා කරයි kubectl
. උත්සාහ දරනවා apply
API පැත්තට, නමුත් එය තවමත් බීටා වේ. මම වඩාත් විස්තරාත්මකව පහත ලියන්නෙමි.
පෙරනිමියෙන් පැච් කරන්න
හොඳම භාවිතා කර ඇත patch
, ඔබට සම්පත යාවත්කාලීන කිරීමට අවශ්ය නම්. සේවාදායක පුස්තකාල දෙකම Kubernetes API මත ක්රියා කරන ආකාරය සහ kubectl
(පුදුමයක් නොවේ, එය සේවාදායක පුස්තකාලය සඳහා දවටනයක් බැවින්, ආසන්න වශයෙන් පරිවර්තකයා).
උපාය මාර්ගිකව වැඩ කරන්න
සියලුම කණ්ඩායම් kubectl
apply
, edit
и patch
ක්රමය භාවිතා කරන්න PATCH
HTTP හි පවතින සම්පතක් යාවත්කාලීන කිරීමට ඉල්ලීම් කරයි. ඔබ විධාන ක්රියාත්මක කිරීම වඩාත් විස්තරාත්මකව සොයා බැලුවහොත්, ඒ සියල්ල ප්රවේශය භාවිතා කරයි patch
වෙනත් ප්රවේශයන් භාවිතා කළ හැක (මේ පිළිබඳ වැඩි විස්තර පහතින්). උපායමාර්ගික-ඒකාබද්ධ පැච් කිරීමේ ප්රවේශය සපයන ලද පිරිවිතර පවතින පිරිවිතර සමඟ ඒකාබද්ධ කිරීමෙන් "එය නිවැරදිව ලබා ගැනීමට" උත්සාහ කරයි. වඩාත් නිශ්චිතව, එය වස්තු සහ අරා දෙකම ඒකාබද්ධ කිරීමට උත්සාහ කරයි, එයින් අදහස් වන්නේ වෙනස්කම් ආකලන බවට පත්වේ. උදාහරණයක් ලෙස, විධානය ක්රියාත්මක කිරීම patch
පොඩ් කන්ටේනර් පිරිවිතරයේ නව පරිසර විචල්යයක් සමඟ, එම පරිසර විචල්යය නැවත ලිවීමට වඩා පවතින පරිසර විචල්යවලට එක් කිරීමට හේතු වේ. මෙම ප්රවේශය භාවිතයෙන් ඉවත් කිරීමට, සපයා ඇති පිරිවිතරයේ පරාමිති අගය ශුන්ය කිරීමට ඔබ බල කළ යුතුය. කුමන කණ්ඩායම් kubectl
යාවත්කාලීන කිරීම සඳහා භාවිතා කිරීම වඩාත් සුදුසුද?
ඔබ භාවිතා කරමින් ඔබේ සම්පත් නිර්මාණය කර කළමනාකරණය කරන්නේ නම් kubectl apply
, යාවත්කාලීන කිරීමේදී සෑම විටම භාවිතා කිරීම වඩා හොඳය kubectl apply
වෙත kubectl
වින්යාසය කළමනාකරණය කිරීමට සහ යෙදුමෙන් යෙදුමට ඉල්ලා ඇති වෙනස්කම් නිවැරදිව නිරීක්ෂණය කළ හැකිය. වාසි සෑම විටම භාවිතා කරයි apply
එය කලින් යොදන ලද පිරිවිතරයක් නිරීක්ෂණය කරයි, පිරිවිතර ගුණාංග සහ අරා මූලද්රව්ය පැහැදිලිව ඉවත් කරන විට එය දැන ගැනීමට ඉඩ සලසයි. මෙය ඔබට භාවිතා කිරීමට ඉඩ සලසයි apply
ගුණාංග සහ අරා මූලද්රව්ය ඉවත් කිරීමට, සාමාන්ය උපායමාර්ගික ඒකාබද්ධ කිරීමක් ක්රියා නොකරනු ඇත. කණ්ඩායම් edit
и patch
ඒ සටහන් යාවත්කාලීන කරන්න එපා kubectl apply
එහි වෙනස්කම් නිරීක්ෂණය කිරීමට භාවිතා කරයි, එබැවින් Kubernetes API හරහා ලුහුබැඳීම සහ සිදු කරන ඕනෑම වෙනස්කමක්, නමුත් විධාන හරහා සිදු කෙරේ edit
и patch
, පසු විධාන වලට නොපෙනේ apply
එනම් apply
සඳහා ආදාන පිරිවිතරයේ නොපෙන්වයි නම් පවා ඒවා ඉවත් නොකරයි apply
(ලේඛනවල සඳහන් වේ edit
и patch
භාවිතා කරන සටහන් වලට යාවත්කාලීන කරන්න apply
, නමුත් ප්රායෝගිකව - නැත).
ඔබ විධානය භාවිතා නොකරන්නේ නම් apply
, ලෙස භාවිතා කළ හැක edit
, සහ patch
, සිදු කරන වෙනසට වඩාත් ගැලපෙන විධානය තෝරා ගැනීම. BOM ගුණාංග එකතු කිරීමේදී සහ වෙනස් කිරීමේදී, ප්රවේශයන් දෙකම දළ වශයෙන් සමාන වේ. පිරිවිතර ගුණාංග හෝ අරා මූලද්රව්ය මකා දැමීමේදී edit
එක් වරක් දියත් කිරීමක් ලෙස හැසිරේ apply
, එය සංස්කරණය කිරීමට පෙර සහ පසු පිරිවිතර කෙබඳුද යන්න පිළිබඳව සටහන් තබා ගැනීම ඇතුළුව, ඔබට සම්පතකින් ගුණාංග සහ අරා මූලද්රව්ය පැහැදිලිවම ඉවත් කළ හැකිය. සඳහා පිරිවිතරය තුළ ඔබ දේපල වටිනාකම ශුන්ය ලෙස පැහැදිලිව සැකසීමට අවශ්ය වේ patch
එය සම්පතෙන් ඉවත් කිරීමට. උපායමාර්ගික ඒකාබද්ධ පැච් කිරීම භාවිතයෙන් අරා මූලද්රව්යයක් ඉවත් කිරීම වඩාත් සංකීර්ණ වන්නේ එයට ඒකාබද්ධ විධාන භාවිතා කිරීම අවශ්ය වන බැවිනි. වඩාත් ශක්ය විකල්ප සඳහා පහත වෙනත් උත්ශ්රේණි කිරීමේ ප්රවේශයන් බලන්න.
ඉහත විධානයන්ට සමානව හැසිරෙන සේවාදායක පුස්තකාලයේ යාවත්කාලීන ක්රම ක්රියාත්මක කිරීමට kubectl
, ඉල්ලීම්වල සැකසිය යුතුය content-type
в application/strategic-merge-patch+json
. ඔබට පිරිවිතරයක ඇති ගුණාංග ඉවත් කිරීමට අවශ්ය නම්, ඔබ පැහැදිලිවම ඒවායේ අගයන් ඒ හා සමාන ආකාරයකින් ශුන්ය කිරීමට සැකසිය යුතුය. kubectl patch
. ඔබට අරා මූලද්රව්ය ඉවත් කිරීමට අවශ්ය නම්, ඔබ යාවත්කාලීන පිරිවිතර තුළ ඒකාබද්ධ විධාන ඇතුළත් කළ යුතුය හෝ යාවත්කාලීන සඳහා වෙනස් ප්රවේශයක් භාවිතා කළ යුතුය.
යාවත්කාලීන සඳහා වෙනත් ප්රවේශයන්
Kubernetes වෙනත් යාවත්කාලීන ප්රවේශයන් දෙකකට සහය දක්වයි: kubectl patch --type=merge
. Kubernetes API සමඟ වැඩ කරන විට, ඔබ ඉල්ලීම් ක්රමය භාවිතා කළ යුතුය PATCH
සහ ස්ථාපනය content-type
в application/merge-patch+json
.
JSON පැච් ප්රවේශය, සම්පතක අර්ධ පිරිවිතරයක් ලබා දෙනවාට වඩා, ඔබට සම්පතට කිරීමට අවශ්ය වෙනස්කම් අරාවක් ලෙස සැපයීම භාවිතා කරයි, එහිදී අරාවේ සෑම මූලද්රව්යයක්ම සම්පතට සිදු කරන වෙනස පිළිබඳ විස්තරයක් නියෝජනය කරයි. මෙම ප්රවේශය සිදු කරනු ලබන වෙනස්කම් ප්රකාශ කිරීමට වඩාත් නම්යශීලී සහ ප්රබල ක්රමයකි, නමුත් අර්ධ සම්පත් පිරිවිතර යැවීමට වඩා වෙනම, කුබර්නෙට් නොවන ආකෘතියකින් සිදු කරන වෙනස්කම් ලැයිස්තුගත කිරීමේ වියදමින්. තුල kubectl
ඔබට භාවිතා කර JSON පැච් තෝරාගත හැක kubectl patch --type=json
. Kubernetes API භාවිතා කරන විට, මෙම ප්රවේශය ඉල්ලීම් ක්රමය භාවිතයෙන් ක්රියා කරයි PATCH
සහ ස්ථාපනය content-type
в application/json-patch+json
.
අපට විශ්වාසය අවශ්යයි - ප්රතිස්ථාපනය භාවිතා කරන්න
සමහර අවස්ථා වලදී, සම්පත කියවන වේලාව සහ එය යාවත්කාලීන කරන විට අතර සම්පතක කිසිදු වෙනසක් සිදු නොවන බවට ඔබ සහතික විය යුතුය. වෙනත් වචන වලින් කිවහොත්, සියලු වෙනස්කම් සිදුවනු ඇති බවට ඔබ සහතික විය යුතුය පරමාණුක. මෙම අවස්ථාවේදී, ඔබ භාවිතා කළ යුතු සම්පත් යාවත්කාලීන කිරීමට replace
. උදාහරණයක් ලෙස, ඔබට බහු මූලාශ්ර මගින් යාවත්කාලීන කරන ලද කවුන්ටරයක් සහිත වින්යාස සිතියමක් තිබේ නම්, මූලාශ්ර දෙකක් එකවර කවුන්ටරය යාවත්කාලීන නොකරන බවට සහතික විය යුතුය, එමඟින් යාවත්කාලීනය නැති වී යයි. ප්රදර්ශනය කිරීම සඳහා, ප්රවේශය භාවිතා කරමින් සිදුවීම් අනුපිළිවෙලක් සිතන්න patch
:
- A සහ B සම්පත් වල වත්මන් තත්වය API වෙතින් ලබා ගනී
- සෑම එකක්ම දේශීයව පිරිවිතර යාවත්කාලීන කරන්නේ කවුන්ටරය එකකින් වැඩි කිරීමෙන් සහ "යාවත්කාලීන කරන ලද" සටහනට පිළිවෙලින් "A" හෝ "B" එකතු කිරීමෙනි.
- තවද එය සම්පත් ටිකක් වේගයෙන් යාවත්කාලීන කරයි
- B සම්පත යාවත්කාලීන කරයි
ප්රතිඵලයක් වශයෙන්, යාවත්කාලීන A නැති වී යයි. අවසාන මෙහෙයුම patch
ජයග්රහණ, කවුන්ටරය දෙකක් වෙනුවට එකකින් වැඩි වන අතර, "යාවත්කාලීන කරන ලද" නෝට්ටුවේ අගය "B" වලින් අවසන් වන අතර "A" අඩංගු නොවේ. ප්රවේශය භාවිතයෙන් යාවත්කාලීන කිරීම් සිදු කරන විට සිදුවන දේ සමඟ ඉහත සඳහන් දේ සසඳා බලමු replace
:
- A සහ B සම්පත් වල වත්මන් තත්වය API වෙතින් ලබා ගනී
- සෑම එකක්ම දේශීයව පිරිවිතර යාවත්කාලීන කරන්නේ කවුන්ටරය එකකින් වැඩි කිරීමෙන් සහ "යාවත්කාලීන කරන ලද" සටහනට පිළිවෙලින් "A" හෝ "B" එකතු කිරීමෙනි.
- තවද එය සම්පත් ටිකක් වේගයෙන් යාවත්කාලීන කරයි
- B සම්පත යාවත්කාලීන කිරීමට උත්සාහ කරයි, නමුත් සම්පත් අනුවාදය පිරිවිතරයේ ඇති බැවින් යාවත්කාලීනය API විසින් ප්රතික්ෂේප කරනු ලැබේ.
replace
A හි ප්රතිස්ථාපන ක්රියාවෙන් සම්පතේ අනුවාදය වැඩි කර ඇති නිසා Kubernetes හි සම්පත් වල වත්මන් අනුවාදයට නොගැලපේ.
ඉහත අවස්ථාවෙහිදී, B හට සම්පත නැවත ලබා ගැනීමට සිදු වනු ඇත, නව තත්වයට වෙනස්කම් සිදු කර නැවත උත්සාහ කරන්න replace
. මෙමගින් කවුන්ටරය දෙකකින් වැඩි වන අතර "යාවත්කාලීන කරන ලද" සටහන අවසානයේ "AB" ඇතුළත් වේ.
ඉහත උදාහරණයෙන් ඇඟවෙන්නේ ක්රියාත්මක කරන විට බවයි replace
සම්පූර්ණ සම්පත සම්පූර්ණයෙන්ම ප්රතිස්ථාපනය වේ. සඳහා භාවිතා කරන පිරිවිතර replace
, කොටස් වශයෙන් හෝ කොටස් වශයෙන් නොවිය යුතුය apply
, නමුත් එකතු කිරීම ඇතුළුව සම්පූර්ණයි resourceVersion
පිරිවිතර පාරදත්ත තුළට. ඔබ සක්රිය කර නොමැති නම් resourceVersion
හෝ ඔබ සපයන අනුවාදය වත්මන් නොවේ, ආදේශනය ප්රතික්ෂේප කරනු ලැබේ. එබැවින් භාවිතා කිරීමට හොඳම ප්රවේශය වේ replace
- සම්පත කියවන්න, එය යාවත්කාලීන කර එය වහාම ප්රතිස්ථාපනය කරන්න. භාවිතා කරමින් kubectl
, එය මේ වගේ විය හැක:
$ kubectl get deployment my-deployment -o json
| jq '.spec.template.spec.containers[0].env[1].value = "new value"'
| kubectl replace -f -
අනුක්රමිකව ක්රියාත්මක වන පහත විධාන දෙක සාර්ථකව ක්රියාත්මක වන බව සඳහන් කිරීම වටී. deployment.yaml
දේපල අඩංගු නොවේ .metadata.resourceVersion
$ kubectl create -f deployment.yaml
$ kubectl replace -f deployment.yaml
මෙය ඉහත කී දෙයට පටහැනි බව පෙනේ, i.e. "එකතු කිරීම resourceVersion
පිරිවිතර පාරදත්ත තුලට." එසේ පැවසීම වැරදිද? නැත, එසේ නොවේ, මන්ද එසේ නම් kubectl
ඔබ සඳහන් නොකළ බව දැනුම් දෙයි resourceVersion
, එය එය සම්පතෙන් කියවා ඔබ සඳහන් කළ පිරිවිතරයට එය එකතු කරනු ඇත, පසුව පමණක් එය ක්රියාත්මක කරන්න replace
. ඔබ පරමාණුකත්වය මත රඳා සිටින්නේ නම් මෙය අනතුරුදායක විය හැකි නිසා, මැජික් එක සම්පූර්ණයෙන්ම පැත්තේ ක්රියා කරයි kubectl
, API සමඟ වැඩ කරන සේවාදායක පුස්තකාල භාවිතා කරන විට ඔබ එය මත විශ්වාසය නොතැබිය යුතුය. මෙම අවස්ථාවේදී, ඔබට වත්මන් සම්පත් පිරිවිතර කියවා එය යාවත්කාලීන කර ක්රියාත්මක කිරීමට සිදුවේ PUT
ඉල්ලීම.
ඔබට පැච් එකක් කළ නොහැක - අපි ප්රතිස්ථාපනය කරන්නෙමු
සමහර විට ඔබට API මඟින් හැසිරවිය නොහැකි වෙනස්කම් කිහිපයක් සිදු කිරීමට සිදු වේ. මෙම අවස්ථා වලදී, සම්පත් මකා දැමීමෙන් සහ නැවත නිර්මාණය කිරීමෙන් ඔබට එය ප්රතිස්ථාපනය කිරීමට බල කළ හැක. මෙය භාවිතයෙන් සිදු කෙරේ kubectl replace --force
. විධානය ක්රියාත්මක කිරීමෙන් වහාම සම්පත් ඉවත් කර පසුව සපයන ලද පිරිවිතරයෙන් ඒවා ප්රතිනිර්මාණය කරයි. API හි "බලයෙන් ප්රතිස්ථාපනය" හසුරුවන්නක් නොමැති අතර, API හරහා එය සිදු කිරීම සඳහා, ඔබ මෙහෙයුම් දෙකක් සිදු කළ යුතුය. පළමුව ඔබ එය සැකසීමෙන් සම්පත් මකා දැමිය යුතුය gracePeriodSeconds
බිංදුවට (0) සහ propagationPolicy
"පසුබිම" තුළ සහ පසුව අපේක්ෂිත පිරිවිතර සමඟ මෙම සම්පත නැවත නිර්මාණය කරන්න.
අවවාදයයි: මෙම ප්රවේශය අනතුරුදායක විය හැකි අතර එය නිර්වචනය නොකළ තත්වයකට ගෙන යා හැකිය.
සේවාදායකයේ පැත්තෙන් අයදුම් කරන්න
ඉහත සඳහන් කළ පරිදි, Kubernetes සංවර්ධකයින් තර්කනය ක්රියාත්මක කිරීමට කටයුතු කරයි apply
සිට kubectl
Kubernetes API හි. තාර්කික apply
Kubernetes 1.18 හරහා ලබා ගත හැක kubectl apply --server-side
හෝ ක්රමය භාවිතා කරමින් API හරහා PATCH
с content-type
application/apply-patch+YAML
.
සටහන: JSON ද වලංගු YAML වේ, එබැවින් ඔබට පිරිවිතර JSON ලෙස යැවිය හැක
content-type
වනු ඇතapplication/apply-patch+yaml
.
ඒ තර්කයට අමතරව kubectl
API හරහා සෑම කෙනෙකුටම ලබා ගත හැකිය, apply
සේවාදායකයේ පැත්තෙන්, පිරිවිතරයේ ඇති ක්ෂේත්ර සඳහා වගකිව යුත්තේ කවුරුන්ද යන්න නිරීක්ෂණය කරයි, එමඟින් එහි ගැටුම් රහිත සංස්කරණය සඳහා ආරක්ෂිත බහුවිධ ප්රවේශයට ඉඩ සලසයි. වෙනත් වචන වලින් කිවහොත්, නම් apply
සේවාදායකයේ පැත්තෙන් වඩාත් පුළුල් වනු ඇත, විවිධ සේවාදායකයින් සඳහා විශ්වීය ආරක්ෂිත සම්පත් කළමනාකරණ අතුරු මුහුණතක් දිස්වනු ඇත, උදාහරණයක් ලෙස, kubectl, Pulumi හෝ Terraform, GitOps, මෙන්ම සේවාදායක පුස්තකාල භාවිතා කරන ස්වයං-ලිඛිත ස්ක්රිප්ට්.
ප්රතිඵල
පොකුරු තුළ සම්පත් යාවත්කාලීන කිරීමට විවිධ ක්රම පිළිබඳ මෙම කෙටි දළ විශ්ලේෂණය ඔබට ප්රයෝජනවත් වනු ඇතැයි මම බලාපොරොත්තු වෙමි. එය ප්රතිස්ථාපනයට එරෙහිව යෙදීම පමණක් නොවන බව දැන ගැනීම හොඳය; අයදුම් කිරීම, සංස්කරණය කිරීම, පැච් කිරීම හෝ ප්රතිස්ථාපනය කිරීම භාවිතයෙන් සම්පතක් යාවත්කාලීන කළ හැකිය. සියල්ලට පසු, ප්රතිපත්තිමය වශයෙන්, සෑම ප්රවේශයකටම තමන්ගේම යෙදුම් ක්ෂේත්රයක් ඇත. පරමාණුක වෙනස්කම් සඳහා, ප්රතිස්ථාපනය වඩාත් සුදුසුය; එසේ නොමැතිනම්, ඔබ අයදුම් කිරීම හරහා උපායමාර්ගික ඒකාබද්ධ පැච් භාවිතා කළ යුතුය. අවම වශයෙන්, "kubernetes apply vs replace" සෙවීමේදී ඔබට Google හෝ StackOerflow විශ්වාස කළ නොහැකි බව ඔබ තේරුම් ගනු ඇතැයි මම බලාපොරොත්තු වෙමි. අවම වශයෙන් මෙම ලිපිය වත්මන් පිළිතුර ප්රතිස්ථාපනය කරන තුරු.
මූලාශ්රය: www.habr.com