மாஸ்டரிங் கஸ்டமைஸ்: பெயர்வெளி மாற்றங்களுக்குப் பிறகு ஒட்டுதல்
Kubernetes Kustomize என்பது டெவலப்பர்கள் உள்ளமைவுகளை திறமையாக நிர்வகிக்க உதவும் ஒரு சக்திவாய்ந்த கருவியாகும். இருப்பினும், பெயர்வெளிகளை மாற்றுவது போன்ற மாற்றங்களைப் பயன்படுத்துவது, பின்னர் கூடுதல் இணைப்புகள் தேவைப்படும்போது சவால்களை உருவாக்கும் சூழ்நிலைகள் உள்ளன.
ஒரு பெயர்வெளியை அமைக்கும் `kustomization.yaml` உங்களிடம் இருப்பதாகக் கற்பனை செய்து பாருங்கள், பின்னர், அதே ஆதாரத்திற்கு நீங்கள் ஒரு பேட்சைப் பயன்படுத்த வேண்டும். இந்தச் சூழ்நிலை ஒரு நடைமுறைக் கேள்வியை எழுப்புகிறது: பெயர்வெளி மாற்றத்திற்குப் பிறகு பேட்ச் செயல்படுத்தப்படுவதை எப்படி உறுதிப்படுத்துவது? இது நிஜ-உலக குபெர்னெட்ஸ் வரிசைப்படுத்தல்களில் எதிர்கொள்ளும் பொதுவான சவாலாகும். 🔧
செயல்முறை அச்சுறுத்தலாகத் தோன்றலாம், ஆனால் சரியான நுட்பங்களுடன், நீங்கள் இதை தடையின்றி அடையலாம். நீங்கள் வளங்களைப் புதுப்பிக்கிறீர்களோ அல்லது டைனமிக் சூழல்களை நிர்வகிக்கிறீர்களோ, இந்தப் பணிப்பாய்வுகளைப் புரிந்துகொள்வது உங்கள் நேரத்தைச் சேமிக்கும் மற்றும் உள்ளமைவுப் பிழைகளைக் குறைக்கும்.
இந்தக் கட்டுரையில், Kustomize இல் பெயர்வெளி மாற்றத்திற்குப் பிறகு பேட்சை எவ்வாறு அழைப்பது என்பதை ஆராய்வோம். பெயர்வெளிகளைப் பயன்படுத்தும்போது ஆதாரங்களைத் தேர்ந்தெடுத்து எவ்வாறு விலக்குவது என்பதையும் நாங்கள் விவாதிப்போம். தெளிவான எடுத்துக்காட்டுகள் மற்றும் நிபுணத்துவ உதவிக்குறிப்புகள் மூலம், உங்கள் குபெர்னெட்ஸ் பணிச்சுமைகளுக்கு Kustomize இன் திறனை நீங்கள் திறக்கலாம். 🚀
| கட்டளை | பயன்பாட்டின் உதாரணம் |
|---|---|
| config.load_kube_config() | இயல்புநிலை இடத்திலிருந்து (~/.kube/config) Kubernetes உள்ளமைவை ஏற்றுகிறது. Python Kubernetes கிளையண்டைப் பயன்படுத்தி கிளஸ்டருடன் தொடர்புகொள்வதற்கு இது அவசியம். |
| yaml.safe_load() | YAML கோப்புகளை பைதான் அகராதிகளாக மாற்ற பாதுகாப்பாக பாகுபடுத்துகிறது. இது தன்னிச்சையான குறியீட்டை செயல்படுத்துவதைத் தடுக்கிறது, இது உள்ளமைவு கோப்புகளை ஏற்றுவதற்கு பாதுகாப்பானது. |
| api.create_namespaced_custom_object() | குபெர்னெட்ஸ் கிளஸ்டரில் ஒரு குறிப்பிட்ட பெயர்வெளியில் தனிப்பயன் ஆதாரத்தை உருவாக்குகிறது அல்லது புதுப்பிக்கிறது. மாற்றங்களை மாறும் வகையில் பயன்படுத்துவதற்கு இது முக்கியமானது. |
| resource['metadata']['namespace'] | ஆதாரத்தின் மெட்டாடேட்டா பிரிவில் பெயர்வெளி புலத்தை அணுகி புதுப்பிக்கிறது, குறிப்பிட்ட பெயர்வெளிகளுக்கு மாற்றங்கள் சரியாகப் பயன்படுத்தப்படுவதை உறுதி செய்கிறது. |
| json.MarshalIndent() | உள்தள்ளப்பட்ட JSON சரத்தில் Go struct ஐ வரிசைப்படுத்துகிறது. மாற்றப்பட்ட வளங்களை பிழைத்திருத்தம் செய்யும் போது அல்லது பதிவு செய்யும் போது படிக்கக்கூடிய வெளியீட்டை உருவாக்குவதற்கு பயனுள்ளதாக இருக்கும். |
| map[string]interface{} | ஒரு நெகிழ்வான விசை-மதிப்பு கட்டமைப்பைப் பிரதிநிதித்துவப்படுத்த Go இல் பயன்படுத்தப்படுகிறது, இது ஆதார புலங்களைப் புதுப்பிப்பதன் மூலம் இணைப்புகளை மாறும் வகையில் பயன்படுத்த அனுமதிக்கிறது. |
| applyNamespace() | வளத்தின் பெயர்வெளி புலத்தை மேம்படுத்தும் தனிப்பயன் செயல்பாடு. இது உருமாற்ற தர்க்கத்தில் மட்டுத்தன்மை மற்றும் மறுபயன்பாட்டை உறுதி செய்கிறது. |
| applyPatch() | பேட்ச் தரவை ஏற்கனவே உள்ள ஆதாரத்துடன் இணைக்கும் தனிப்பயன் செயல்பாடு. டைனமிக் புதுப்பிப்புகளைக் கையாளுகிறது, இது நெகிழ்வான கஸ்டமைஸ் செயல்பாடுகளுக்கு ஏற்றதாக அமைகிறது. |
| CustomObjectsApi() | குபெர்னெட்ஸ் தனிப்பயன் ஆதாரங்களுடன் தொடர்புகொள்வதற்காக பைத்தானில் ஒரு குறிப்பிட்ட API கிளையன்ட். இது தரமற்ற குபெர்னெட்ஸ் பொருட்களை நிர்வகிப்பதற்கான மையமாகும். |
| os package in Go | சூழல் மாறிகள் மற்றும் கணினி தகவல்களுக்கான அணுகலை வழங்குகிறது. ஸ்கிரிப்ட்களில் மாறும் வகையில் கோப்பு பாதைகள் அல்லது உள்ளமைவுகளை மீட்டெடுக்க பெரும்பாலும் பயன்படுத்தப்படுகிறது. |
கஸ்டமைஸில் பெயர்வெளி மாற்றங்களுக்குப் பிறகு பேட்ச்களை வேலை செய்யும்
மேலே வழங்கப்பட்ட ஸ்கிரிப்டுகள் குபெர்னெட்டஸில் உள்ள ஒரு குறிப்பிட்ட சவாலை நிவர்த்தி செய்கின்றன: a க்குப் பிறகு ஒரு பேட்சைப் பயன்படுத்துதல் கஸ்டமைஸ் பயன்படுத்தி. பைதான் ஸ்கிரிப்ட் `config.load_kube_config()` கட்டளையுடன் Kubernetes உள்ளமைவை ஏற்றுவதன் மூலம் தொடங்குகிறது. இது ஸ்கிரிப்டை கிளஸ்டருடன் இணைக்கிறது, இது வளங்களை மாறும் வகையில் நிர்வகிக்க அனுமதிக்கிறது. இணைக்கப்பட்டதும், YAML உள்ளமைவு கோப்புகள் `yaml.safe_load()` ஐப் பயன்படுத்தி படிக்கப்பட்டு பாகுபடுத்தப்படும், இது சிக்கலான YAML கட்டமைப்புகளைக் கையாள பாதுகாப்பான வழியாகும். நேம்ஸ்பேஸ் புலம் உட்பட அனைத்து மெட்டாடேட்டாவும் மேலும் கையாளுதலுக்காக பாதுகாப்பாக ஏற்றப்படுவதை இது உறுதி செய்கிறது. 📜
பைதான் ஸ்கிரிப்ட்டின் முதல் முக்கிய செயல்பாடு, `apply_namespace_transformation()`, கொடுக்கப்பட்ட ஆதாரத்தின் பெயர்வெளியை மாற்றியமைக்கிறது. இது வளத்தின் மெட்டாடேட்டா புலத்தைப் புதுப்பித்து, இந்த மாற்றங்களை கிளஸ்டருக்குப் பயன்படுத்த Kubernetes கிளையன்ட் லைப்ரரியில் இருந்து `create_namespaced_custom_object()` செயல்பாட்டைப் பயன்படுத்துகிறது. இந்தப் படி மிகவும் முக்கியமானது, ஏனெனில் மேலும் மாற்றங்கள் செய்யப்படுவதற்கு முன் பெயர்வெளி சரியாக ஒதுக்கப்பட்டிருப்பதை இது உறுதி செய்கிறது. வரவிருக்கும் ஒட்டுதல் செயல்முறைக்கான களத்தை அமைப்பதாக நினைத்துப் பாருங்கள். இது இல்லாமல், வளம் எங்குள்ளது என்று கிளஸ்டருக்குத் தெரியாது. 🚀
இரண்டாவது செயல்பாடு, `apply_patch()`, பெயர்வெளி புதுப்பிக்கப்பட்ட பிறகு ஆதாரத்தில் கூடுதல் மாற்றங்களை ஒன்றிணைக்க வடிவமைக்கப்பட்டுள்ளது. பேட்ச் கோப்பைப் படிப்பதன் மூலம், செயல்பாடு ஏற்றப்பட்ட வளத்திற்கு மாறும் மாற்றங்களைப் பயன்படுத்துகிறது. லேபிள்கள் அல்லது சிறுகுறிப்புகளைப் புதுப்பித்தல் போன்ற பல்வேறு காட்சிகளுக்கு ஏற்ப பேட்சை வடிவமைக்க முடியும் என்பதால் இது நெகிழ்வுத்தன்மையை உறுதி செய்கிறது. மட்டு அணுகுமுறையைப் பயன்படுத்துவது, பல பணிப்பாய்வுகளில் இந்த செயல்பாடுகளை மீண்டும் பயன்படுத்த உங்களை அனுமதிக்கிறது. வெளியீடு இந்த புதுப்பிப்புகளின் வெற்றியை உறுதிப்படுத்துகிறது, சிக்கலான வரிசைப்படுத்தல்களில் தெளிவு மற்றும் உத்தரவாதத்தை வழங்குகிறது.
மறுபுறம், Go ஸ்கிரிப்ட், Go இன் வகை அமைப்பு மற்றும் JSON கையாளுதல் திறன்களின் நெகிழ்வுத்தன்மையை மேம்படுத்துவதன் மூலம் வேறுபட்ட அணுகுமுறையை எடுத்துக்காட்டுகிறது. `applyNamespace()` மற்றும் `applyPatch()` போன்ற செயல்பாடுகள், வகைப் பாதுகாப்பு மற்றும் துல்லியத்தை உறுதிசெய்யும் வகையில், Go structs இல் செயல்படுவதற்காக உருவாக்கப்பட்டுள்ளன. எடுத்துக்காட்டாக, `json.MarshalIndent()` கட்டளையானது நன்கு வடிவமைக்கப்பட்ட JSON வெளியீட்டை உருவாக்குகிறது, இது பிழைத்திருத்தம் மற்றும் ஆதார கட்டமைப்புகளை சரிபார்க்க எளிதாக்குகிறது. நீங்கள் Python அல்லது Go ஐப் பயன்படுத்தினாலும், இரண்டு ஸ்கிரிப்ட்களும் மட்டுப்படுத்தல் மற்றும் வாசிப்புத்திறனின் முக்கியத்துவத்தை வலியுறுத்துகின்றன, உங்கள் கஸ்டமைஸ் பேட்ச்கள் பெயர்வெளி மாற்றங்களுடன் தடையின்றி செயல்படுவதை உறுதிசெய்கிறது. 🛠️
குபெர்னெட்டஸ் கஸ்டமைஸில் பெயர்வெளி மாற்றத்திற்குப் பிறகு இணைப்புகளைக் கையாளுதல்
குபெர்னெட்ஸ் கிளையன்ட் லைப்ரரியுடன் பைதான் ஸ்கிரிப்டைப் பயன்படுத்தி பின்தள தீர்வு
# Import necessary librariesfrom kubernetes import client, configimport yamlimport os# Load Kubernetes configurationconfig.load_kube_config()# Define a function to apply the namespace transformationdef apply_namespace_transformation(resource_path, namespace):with open(resource_path, 'r') as file:resource = yaml.safe_load(file)resource['metadata']['namespace'] = namespaceapi = client.CustomObjectsApi()group = resource['apiVersion'].split('/')[0]version = resource['apiVersion'].split('/')[1]kind = resource['kind'].lower() + 's'api.create_namespaced_custom_object(group, version, namespace, kind, resource)# Define a function to apply a patchdef apply_patch(resource_path, patch_path, namespace):with open(resource_path, 'r') as file:resource = yaml.safe_load(file)with open(patch_path, 'r') as file:patch = yaml.safe_load(file)resource['metadata']['namespace'] = namespacefor key, value in patch.items():resource[key] = valueprint(f"Patched resource: {resource}")# Usage exampleapply_namespace_transformation("extensionconfig.yaml", "foooo")apply_patch("extensionconfig.yaml", "patch.yaml", "foooo")
நேம்ஸ்பேஸ் மற்றும் பேட்ச்களை டைனமிக் முறையில் நிர்வகிக்க கஸ்டமைஸ் பயன்படுத்துதல்
Go இல் எழுதப்பட்ட கஸ்டமைஸ் டிரான்ஸ்பார்மர் செருகுநிரலைப் பயன்படுத்தி டைனமிக் தீர்வு
package mainimport ("encoding/json""fmt""os")type Resource struct {APIVersion string `json:"apiVersion"`Kind string `json:"kind"`Metadata Metadata `json:"metadata"`}type Metadata struct {Name string `json:"name"`Namespace string `json:"namespace"`}func applyNamespace(resource *Resource, namespace string) {resource.Metadata.Namespace = namespace}func applyPatch(resource *Resource, patch map[string]interface{}) {for key, value := range patch {switch key {case "metadata":meta := value.(map[string]interface{})for mk, mv := range meta {if mk == "namespace" {resource.Metadata.Namespace = mv.(string)}}}}}func main() {resource := Resource{APIVersion: "runtime.cluster.x-k8s.io/v1alpha1",Kind: "ExtensionConfig",Metadata: Metadata{Name: "my-extensionconfig"},}applyNamespace(&resource, "foooo")patch := map[string]interface{}{"metadata": map[string]interface{}{"namespace": "foooo",},}applyPatch(&resource, patch)result, _ := json.MarshalIndent(resource, "", " ")fmt.Println(string(result))}
வள விலக்கு மற்றும் மேம்பட்ட பெயர்வெளி மேலாண்மை ஆகியவற்றைப் புரிந்துகொள்வது
Kubernetes Kustomize உடன் பணிபுரிவதில் ஒரு முக்கியமான அம்சம், பெயர்வெளி மாற்றங்களிலிருந்து சில ஆதாரங்களை எவ்வாறு விலக்குவது என்பதைப் புரிந்துகொள்வது. இயல்பாக, `kustomization.yaml` கோப்பில் பெயர்வெளியைப் பயன்படுத்துவது பட்டியலிடப்பட்ட அனைத்து ஆதாரங்களையும் பாதிக்கிறது, ஆனால் சில ஆதாரங்கள் பெயர்வெளியில் சுதந்திரமாக இருக்க வேண்டிய சூழல்கள் உள்ளன. எடுத்துக்காட்டாக, `ClusterRole` அல்லது `ClusterRoleBinding` போன்ற க்ளஸ்டர் அளவிலான ஆதாரங்கள் ஒரு குறிப்பிட்ட பெயர்வெளியுடன் இணைக்கப்படவில்லை மற்றும் தவறாக மாற்றப்பட்டால் உடைந்துவிடும். `namespace: none` உள்ளமைவைப் பயன்படுத்துவது அல்லது உங்கள் கஸ்டமைஸ் கோப்பில் மூலோபாய விதிவிலக்குகளை வைப்பது இந்தச் சிக்கலைத் தீர்க்க உதவும். 🛡️
ஒரு குறிப்பிட்ட வரிசையில் பல இணைப்புகள் பயன்படுத்தப்படுவதை உறுதிசெய்வது தொடர்புடைய மற்றொரு சவாலாகும். கஸ்டமைஸ் செயல்முறைகள் இணைப்புகளை தொடர்ச்சியாக, ஆனால் பெயர்வெளி மாற்றங்களுடன் இணைக்கும்போது, சிக்கலானது அதிகரிக்கிறது. இதைத் தீர்க்க, மூலோபாய வள மேலடுக்குகளைப் பயன்படுத்துவதே சிறந்தது, ஒவ்வொரு இணைப்பும் மாற்றத்தின் சரியான கட்டத்தில் இருப்பதை உறுதிசெய்கிறது. மூலோபாய இணைப்பு இணைப்புகள் மற்றும் JSON இணைப்புகளின் கலவையைப் பயன்படுத்துவது மிகவும் பயனுள்ளதாக இருக்கும். `patchesStrategicMerge` புலமானது டெவலப்பர்களை மாடுலாரிட்டியைப் பராமரிக்கவும் துல்லியமான புதுப்பிப்புகளை உறுதிப்படுத்தவும் அனுமதிக்கிறது. 🚀
இறுதியாக, சூழல் சார்ந்த உள்ளமைவுகளை நிர்வகித்தல் என்பது Kustomizeக்கான ஒரு முக்கிய பயன்பாடாகும். எடுத்துக்காட்டாக, மல்டி-சுற்றுச்சூழல் அமைப்பில் (தேவ், ஸ்டேஜிங், ப்ராட்), சுற்றுச்சூழலின் அடிப்படையில் பெயர்வெளி மாற்றங்கள் மற்றும் பேட்ச்கள் மாறுபடுவதை நீங்கள் விரும்பலாம். `kustomization.yaml` கோப்புகளை தனி சூழல் கோப்புறைகளில் ஒழுங்கமைப்பதன் மூலம், நீங்கள் நகல் இல்லாமல் தனித்துவமான உள்ளமைவுகளை தடையின்றி பயன்படுத்தலாம். இந்த அணுகுமுறையானது, தெளிவான மற்றும் அளவிடக்கூடிய வரிசைப்படுத்தல் உத்தியைப் பராமரிக்கும் போது, கஸ்டோமைஸின் நெகிழ்வுத்தன்மையைப் பயன்படுத்துகிறது. உங்கள் கஸ்டமைசேஷன் மேனிஃபெஸ்ட்டில் உள்ள கருத்துகள் மற்றும் விரிவான ஆவணங்களைச் சேர்ப்பது, பெரிய அணிகளுக்கான பராமரிப்பை மேலும் உறுதி செய்கிறது. 📜
- பெயர்வெளி மாற்றங்களிலிருந்து ஒரு ஆதாரத்தை எவ்வாறு விலக்குவது?
- நீங்கள் பயன்படுத்தலாம் பெயர்வெளி மாற்றங்களால் வளங்கள் பாதிக்கப்படாமல் இருக்க உங்கள் `kustomization.yaml` இல் உள்ள விருப்பம்.
- கிளஸ்டர் அளவிலான ஆதாரங்களுக்கு நான் இணைப்புகளைப் பயன்படுத்தலாமா?
- ஆம், உங்களால் முடியும், ஆனால் பயன்படுத்துவதன் மூலம் பெயர்வெளி மாற்றங்களிலிருந்து ஆதாரம் விலக்கப்படுவதை உறுதிசெய்யவும் அல்லது தனியான `kustomization.yaml` கோப்பில் ஆதாரத்தை வைப்பது.
- இணைப்புகள் வரிசையாகப் பயன்படுத்தப்படுவதை எவ்வாறு உறுதி செய்வது?
- பயன்படுத்தவும் உங்கள் `kustomization.yaml` க்குள் தேவையான வரிசையில் இணைப்புகளை புலப்படுத்தி பட்டியலிடவும்.
- நான் மூலோபாய இணைப்பு இணைப்புகள் மற்றும் JSON இணைப்புகள் இரண்டையும் ஒன்றாகப் பயன்படுத்தலாமா?
- ஆம், கஸ்டமைஸ் இரண்டு அணுகுமுறைகளையும் ஆதரிக்கிறது. நீங்கள் அவற்றை `patchesStrategicMerge` மற்றும் இல் குறிப்பிடலாம் முறையே புலங்கள்.
- எனது உள்ளமைவுகளைப் பயன்படுத்துவதற்கு முன்பு அவற்றை எவ்வாறு சரிபார்க்கலாம்?
- ஓடவும் வெளியீட்டை முன்னோட்டமிடவும் மற்றும் YAML கட்டமைப்பை கிளஸ்டருக்குப் பயன்படுத்துவதற்கு முன் சரிபார்க்கவும்.
- இரண்டு இணைப்புகள் முரண்பட்டால் என்ன ஆகும்?
- கஸ்டமைஸ் பட்டியலிடப்பட்ட வரிசையில் இணைப்புகளைப் பயன்படுத்துகிறது. ஒரு முரண்பாடு இருந்தால், பிந்தைய இணைப்பு முந்தையதை மேலெழுதும்.
- எனது `kustomization.yaml` இல் உள்ள சிக்கல்களை எவ்வாறு பிழைத்திருத்துவது?
- பயன்படுத்தவும் `kubectl` ஐக் கொண்டு கொடியிடவும் அல்லது சிக்கல் பகுதியைக் கண்டறிய உங்கள் ஸ்கிரிப்ட்களில் வெர்போஸ் லாக்கிங் சேர்க்கவும்.
- நான் ஹெல்முடன் கஸ்டமைஸைப் பயன்படுத்தலாமா?
- ஆம், ஹெல்ம் வெளியீட்டை ஆதாரக் கோப்பாகக் கருதுவதன் மூலம் கஸ்டமைஸ் ஹெல்ம் விளக்கப்படங்களில் மாற்றங்களை மேலெழுத முடியும்.
- பல சூழல் உள்ளமைவுகளை நான் எவ்வாறு நிர்வகிப்பது?
- உங்கள் `kustomization.yaml` கோப்புகளை சூழல் சார்ந்த கோப்புறைகளில் ஒழுங்கமைத்து தனித்தனி மேலடுக்குகளுடன் அவற்றைக் குறிப்பிடவும்.
- பயன்படுத்தப்படும் பெயர்வெளியை சரிபார்க்க நான் என்ன கருவிகளைப் பயன்படுத்தலாம்?
- பயன்படுத்தவும் பெயர்வெளி சரியாகப் பயன்படுத்தப்பட்டுள்ளதா என்பதைச் சரிபார்க்க ஆதாரப் பெயருடன்.
- இணைப்புகளிலிருந்து குறிப்பிட்ட ஆதாரங்களை விலக்க முடியுமா?
- ஆம், ஆதாரம் சார்ந்த `kustomization.yaml` கோப்புகளை உருவாக்குதல் அல்லது உங்கள் ஸ்கிரிப்ட்களில் நிபந்தனை தர்க்கத்தைப் பயன்படுத்துதல்.
குபெர்னெட்டஸில் பெயர்வெளி மாற்றங்களை நிவர்த்தி செய்வதற்கும், ஒட்டுவதற்கும் கவனமாக திட்டமிடல் தேவைப்படுகிறது. போன்ற கருவிகளைப் பயன்படுத்துதல் , டெவலப்பர்கள் வரிசைப்படுத்தல் செயல்முறைகளில் நிலைத்தன்மை மற்றும் துல்லியத்தை உறுதி செய்யும் போது, உள்ளமைவுகளை மாறும் வகையில் நிர்வகிக்க முடியும்.
விதிவிலக்குகளை மூலோபாய ரீதியாகப் பயன்படுத்துவதன் மூலமும், இணைப்பு அம்சங்களை மேம்படுத்துவதன் மூலமும், பயனர்கள் தங்கள் வரிசைப்படுத்தல் குழாய்களை மேம்படுத்தலாம். இது வளரும் சூழல்களுக்கான நெகிழ்வுத்தன்மையை உறுதி செய்கிறது மற்றும் வலுவான குபெர்னெட்ஸ் கிளஸ்டர் நிர்வாகத்தை வளர்க்கிறது. 🌟
- Kustomize மற்றும் அதன் அம்சங்களைப் பற்றிய விவரங்களை அதிகாரப்பூர்வ குபெர்னெட்ஸ் ஆவணத்தில் காணலாம்: குபெர்னெட்டஸ் கஸ்டமைஸ் ஆவணம் .
- பெயர்வெளி மாற்றங்கள் மற்றும் விலக்குகளைக் கையாள்வது பற்றிய நுண்ணறிவுக்கு, இந்த சமூக வழிகாட்டியைப் பார்க்கவும்: GitHub களஞ்சியத்தைத் தனிப்பயனாக்கு .
- இந்த விரிவான வழிகாட்டியிலிருந்து குபெர்னெட்ஸில் உள்ள மூலோபாய இணைப்பு மற்றும் JSON இணைப்புகள் பற்றி மேலும் அறிக: குபெர்னெட்ஸ் பேட்ச் ஆவணம் .
- மேம்பட்ட பயன்பாட்டு வழக்குகள் மற்றும் நிஜ உலக எடுத்துக்காட்டுகளை ஆராய, இந்த ஆதாரத்தைப் பார்க்கவும்: Kustomize.io .