CentOS 8 இல் குபெர்னெட்ஸ் கிளஸ்டரை நிறுவுவது எப்படி
சென்டோஸ் 8 இல் ஒரு குபெர்னெட்ஸ் கிளஸ்டரை நிறுவும் செயல்முறை சென்டோஸ் 7 ஐப் போன்றது (நீங்கள் இங்கே செல்லலாம்), ஆனால் இங்கே செயல்முறை சில மாற்றங்களைக் கொண்டுள்ளது. இந்த மாற்றங்கள், பெரும்பாலும் டோக்கரின் நிறுவலைச் சுற்றி வருகின்றன.
CentOS 8 இலிருந்து (மற்றும் RHEL 8 நீட்டிப்பு மூலம்) தொடங்கி, டாக்கர் இப்போது பூர்வீகமாக போட்மேன் மற்றும் பில்டாவால் மாற்றப்பட்டுள்ளது, அவை ரெட்ஹாட்டின் கருவிகளாகும். உண்மையில், டோக்கர் தொகுப்பு இப்போது இயல்புநிலை தொகுப்பு களஞ்சியத்திலிருந்து அகற்றப்பட்டது.
இந்த நடவடிக்கையின் மூலம், சிறப்பு அனுமதிகள் தேவையில்லாமல், கொள்கலன்களை உருவாக்கும் மற்றும் பயன்படுத்தும் செயல்முறையை எளிதாக்குவதை ரெட்ஹாட் குழு நோக்கமாகக் கொண்டுள்ளது, அதே நேரத்தில், டாக்கர் படங்களுடன் பொருந்தக்கூடிய தன்மையைப் பேணுதல் மற்றும் டீமான் தேவையில்லாமல் அவற்றை இயக்குதல். குபெர்னெட்ஸ் சூழலில் இயங்கும் போது போட்மேன் அதிக நெகிழ்வுத்தன்மையை வழங்குவதாக உறுதியளித்தார், ஆனால் நடுவர் மன்றம் அங்கேயே உள்ளது.
இந்த கட்டுரைக்கு, டாக்கர்-சிஇ (சமூக பதிப்பு) இல் இயங்கும் ஒரு சென்டோஸ் 8 இயங்குதளத்தில் குபர்நெடிஸை நிறுவும் செயல்முறையின் மூலம் இயங்குவோம். பின்னர் வந்த கட்டுரையில், எங்கள் கொள்கலன்களுக்கு போட்மேனைப் பயன்படுத்தி இதேபோன்ற நிறுவலின் மூலமும் இயக்குவோம்.
- CentOS 8 - 1 முதன்மை முனை மற்றும் 2 பணியாளர் முனைகளில் இயங்கும் மூன்று சேவையகங்கள்.
- உங்கள் முனைகளில் குறைந்தபட்சம் 2 சிபியுக்கள் 2 ஜிபி ரேம் அல்லது ஒரு இயந்திரத்திற்கு அதிகமாக இருக்க வேண்டும் என்று பரிந்துரைக்கப்படுகிறது. இது கண்டிப்பான தேவை அல்ல, ஆனால் பெரும்பாலும் நீங்கள் இயக்க விரும்பும் பயன்பாட்டின் தேவைகளால் இயக்கப்படுகிறது.
- உங்கள் எல்லா முனைகளிலும் இணைய இணைப்பு. நாங்கள் களஞ்சியத்திலிருந்து குபெர்னெட்ஸ் மற்றும் டாக்கர் தொகுப்புகளைப் பெறுவோம். அதேபோல், டி.என்.எஃப் தொகுப்பு மேலாளர் இயல்பாக நிறுவப்பட்டிருப்பதை உறுதிசெய்து, தொலைதூர தொகுப்புகளை பெற முடியும்.
- உங்கள் எல்லா முனைகளும் ஒருவருக்கொருவர் இணைக்க முடியும், ஒரு தனியார் அல்லது பொது நெட்வொர்க்கில், எது கிடைத்தாலும்.
- சூடோ அல்லது ரூட் சலுகைகளுடன் கூடிய கணக்கிற்கான அணுகலும் உங்களுக்குத் தேவைப்படும். இந்த டுடோரியலில், நான் எனது ரூட் கணக்கைப் பயன்படுத்துவேன்.
பெரும்பாலான முனைகள் பொதுவாக தனித்துவமான MAC முகவரிகளுடன் வருகின்றன, இருப்பினும், சில தனித்துவமான சந்தர்ப்பங்களில், சில மெய்நிகர் இயந்திரங்கள் ஒரே மாதிரியான MAC முகவரிகளைக் கொண்டிருக்கலாம். எனவே எந்தவொரு முனைகளிலும் Product_UUID மற்றும் MAC முகவரி ஒரே மாதிரியாக இல்லை என்பதை உறுதிப்படுத்த பரிந்துரைக்கப்படுகிறது.
கிளஸ்டரில் உள்ள முனைகளை தனித்தனியாக அடையாளம் காண குபர்நெடிஸ் இந்த மதிப்புகளைப் பயன்படுத்துகிறது. இந்த மதிப்புகள் ஒவ்வொரு கணுக்கும் தனிப்பட்டதாக இல்லாவிட்டால், நிறுவல் செயல்முறை தோல்வியடையும்.
பிணைய இடைமுகத்தின் MAC முகவரியைச் சரிபார்த்து அதை ஒப்பிட்டுப் பார்க்கவும்.
# ip link
Product_uuid ஐ சரிபார்த்து ஒப்பிட, பின்வரும் கட்டளையை இயக்கவும்.
# cat /sys/class/dmi/id/product_uuid
எங்கள் நிறுவல் மாஸ்டர்-நோட் பணியாளர் முனைகளைக் கட்டுப்படுத்தும் வகையில் வடிவமைக்கப்பட்டுள்ளது. இந்த நிறுவலின் முடிவில், எங்கள் தருக்க கட்டமைப்பு இது போன்றதாக இருக்கும்.
மாஸ்டர் முனை - இந்த இயந்திரம் பொதுவாக கட்டுப்பாட்டு விமானமாக செயல்படுகிறது மற்றும் கிளஸ்டர் தரவுத்தளம் மற்றும் ஏபிஐ சேவையகத்தை இயக்குகிறது (இது குபெக்ட்ல் சிஎல்ஐ தொடர்புகொள்கிறது).
எங்கள் 3-முனை குபெர்னெட்ஸ் கிளஸ்டர் இதுபோன்றதாக இருக்கும்:
மாஸ்டர்-முனையில் குபெர்னெட்ஸ் கிளஸ்டரை நிறுவுதல்
குபெர்னெட்ஸ் வேலை செய்ய, உங்களுக்கு ஒரு கொள்கலன் இயந்திரம் தேவைப்படும். குறிப்பிட்டுள்ளபடி, நாங்கள் டோக்கர்-சி.இ.
பின்வரும் நிறுவனங்கள் CentOS 8 மாஸ்டர்-முனையில் செய்யப்படும்.
உங்கள் CentOS 8 மாஸ்டர்-முனையில், கணினி ஹோஸ்ட்பெயரை அமைத்து, உங்கள்/etc/host கோப்பில் DNS ஐப் புதுப்பிக்கவும்.
# hostnamectl set-hostname master-node # cat <<EOF>> /etc/hosts 192.168.0.47 master-node 192.168.0.48 node-1 worker-node-1 192.168.0.49 node-2 worker-node-2 EOF
அடுத்து, பிங் கட்டளையைப் பயன்படுத்தி உங்கள் புதுப்பிக்கப்பட்ட ஹோஸ்ட் கோப்பு சரியாக வேலை செய்கிறதா என்று சோதிக்க உங்கள் பணியாளர்-முனை -1 மற்றும் பணியாளர்-முனை -2 ஆகியவற்றை பிங் செய்யவும்.
# ping 192.168.0.48 # ping 192.168.0.49
அடுத்து, செலினக்ஸ் முடக்கவும், ஏனெனில் இது ஹோஸ்ட் கோப்பு முறைமையை அணுக கொள்கலன்களை அனுமதிக்க வேண்டும், இது நெற்று நெட்வொர்க்குகள் மற்றும் பிற சேவைகளுக்கு தேவைப்படுகிறது.
# setenforce 0
0
க்கு setenforce ஐ அமைப்பது SELinux ஐ அனுமதிக்கும் வகையில் திறம்பட அமைக்கிறது, இது அடுத்த மறுதொடக்கம் வரை SELinux ஐ திறம்பட முடக்குகிறது. அதை முழுவதுமாக முடக்க, கீழேயுள்ள கட்டளையைப் பயன்படுத்தி மீண்டும் துவக்கவும்.
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # reboot
குபர்நெடிஸ் தகவல் தொடர்பு மற்றும் அணுகலுக்காக பல்வேறு துறைமுகங்களைப் பயன்படுத்துகிறது, மேலும் இந்த துறைமுகங்கள் குபெர்னெட்டிற்கு அணுகப்பட வேண்டும் மற்றும் ஃபயர்வாலால் வரையறுக்கப்படவில்லை.
துறைமுகங்களில் ஃபயர்வால் விதிகளை உள்ளமைக்கவும்.
# firewall-cmd --permanent --add-port=6443/tcp # firewall-cmd --permanent --add-port=2379-2380/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10251/tcp # firewall-cmd --permanent --add-port=10252/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd --reload # modprobe br_netfilter # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
பின்வரும் dnf config-manager கட்டளையைப் பயன்படுத்தி இயல்புநிலை தொகுப்பு பட்டியலில் இல்லாததால் முதலில் நீங்கள் டோக்கர் களஞ்சியத்தை சேர்க்க வேண்டும்.
# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
பட பரிமாற்றம் மற்றும் சேமிப்பகம் முதல் கொள்கலன் செயல்படுத்தல் மற்றும் மேற்பார்வை வரை நெட்வொர்க் இணைப்புகள் மற்றும் அதற்கு அப்பால் அதன் ஹோஸ்ட் அமைப்பின் முழுமையான கொள்கலன் வாழ்க்கைச் சுழற்சியை நிர்வகிக்கும் டீமனாகக் கிடைக்கும் containerd.io தொகுப்பையும் நிறுவவும்.
# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
இப்போது ஒரு டாக்கர்-சி தொகுப்பின் சமீபத்திய பதிப்பை நிறுவவும்.
# dnf install docker-ce
நீங்கள் இப்போது டாக்கர் சேவையை இயக்கலாம் மற்றும் தொடங்கலாம்.
# systemctl enable docker # systemctl start docker
அடுத்து, குபெர்னெட்ஸ் களஞ்சியங்களை சென்டோஸ் 8 இல் இயல்பாக நிறுவப்படாததால் அவற்றை கைமுறையாக சேர்க்க வேண்டும்.
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
சிறந்த நடைமுறைகளுக்கு இணங்க குறைந்தபட்ச சாத்தியமான குபெர்னெட்ஸ் கிளஸ்டரை பூட்ஸ்ட்ராப் செய்ய குபேம் உங்களுக்கு உதவுகிறது. Kubeadm உடன், உங்கள் கொத்து குபெர்னெட்ஸ் உறுதிப்படுத்தல் சோதனைகளில் தேர்ச்சி பெற வேண்டும்.
மேம்படுத்தல்கள், தரமிறக்குதல் மற்றும் பூட்ஸ்ட்ராப் டோக்கன்களை நிர்வகித்தல் போன்ற பிற கிளஸ்டர் வாழ்க்கை சுழற்சி செயல்பாடுகளையும் குபேம் ஆதரிக்கிறது. குபெட்ம் அன்சிபில் மற்றும் டெர்ராஃபார்ம் போன்ற பிற ஆர்கெஸ்ட்ரேஷன் கருவிகளுடன் ஒருங்கிணைப்பு-நட்பு.
தொகுப்பு ரெப்போ இப்போது தயாராக இருப்பதால், நீங்கள் மேலே சென்று குபேம் தொகுப்பை நிறுவலாம்.
# dnf install kubeadm -y
நிறுவல் வெற்றிகரமாக முடிந்ததும், சேவையை இயக்கி தொடங்கவும்.
# systemctl enable kubelet # systemctl start kubelet
கொத்துக்கான கட்டுப்பாட்டு விமானம் ஆக செயல்படும் குபெர்னெட்ஸ் மாஸ்டர், கொத்துக்குத் தேவையான சில முக்கியமான சேவைகளை இயக்குகிறது. எனவே, துவக்க செயல்முறை குபெர்னெட்டுகளை இயக்க இயந்திரம் தயாராக இருப்பதை உறுதிசெய்ய தொடர்ச்சியான முன் சோதனைகளை செய்யும். இந்த முன்னறிவிப்புகள் எச்சரிக்கைகளை அம்பலப்படுத்துகின்றன மற்றும் பிழைகள் வெளியேறும். kubeadm init பின்னர் கிளஸ்டர் கட்டுப்பாட்டு விமானக் கூறுகளை பதிவிறக்கி நிறுவுகிறது.
இப்போது குபெர்னெட்ஸ் மாஸ்டரைத் தொடங்குவதற்கான நேரம் வந்துவிட்டது, ஆனால் அதற்கு முன், k "kubeadm init \" கட்டளையை இயக்க நீங்கள் இடமாற்றத்தை முடக்க வேண்டும்.
# swapoff -a
குபெர்னெட்ஸ் மாஸ்டரைத் தொடங்குவது முற்றிலும் தானியங்கி செயல்முறையாகும், இது காண்பிக்கப்பட்டுள்ளபடி k "kubeadm init \" கட்டளையால் கட்டுப்படுத்தப்படுகிறது.
# kubeadm init
அடுத்து, பின்வரும் கட்டளையை நகலெடுத்து எங்காவது சேமித்து வைக்கவும், ஏனெனில் இந்த கட்டளையை பின்னர் தொழிலாளர் முனைகளில் இயக்க வேண்டும்.
kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash ha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf7
உதவிக்குறிப்பு: சில நேரங்களில் மேலே உள்ள கட்டளை அனுப்பிய வாதங்களைப் பற்றிய பிழைகளை எறியக்கூடும், எனவே பிழைகளைத் தவிர்க்க, நீங்கள் ‘\’
எழுத்தை அகற்ற வேண்டும், மேலும் உங்கள் இறுதி கட்டளை இப்படி இருக்கும்.
# kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5 –discovery token-ca-cert-hash sha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf7
குபெர்னெட்ஸ் வெற்றிகரமாக துவக்கப்பட்டதும், உங்கள் பயனரை கிளஸ்டரைப் பயன்படுத்தத் தொடங்க வேண்டும். எங்கள் சூழ்நிலையில், நாங்கள் ரூட் பயனரைப் பயன்படுத்துவோம். காட்டப்பட்டுள்ளபடி சூடோ பயனரைப் பயன்படுத்தி கிளஸ்டரையும் தொடங்கலாம்.
ரூட்டைப் பயன்படுத்த, இயக்கவும்:
# mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # chown $(id -u):$(id -g) $HOME/.kube/config
சூடோ இயக்கப்பட்ட பயனரைப் பயன்படுத்த, இயக்கவும்:
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
இப்போது kubectl கட்டளை செயல்படுத்தப்பட்டதை உறுதிப்படுத்தவும்.
# kubectl get nodes
இந்த நேரத்தில், மாஸ்டர்-முனையின் நிலை ‘நோட்ரெடி’ என்பதை நீங்கள் காண்பீர்கள். ஏனென்றால், நாம் இன்னும் நெற்று வலையமைப்பை கிளஸ்டருக்கு பயன்படுத்தவில்லை.
நெற்று நெட்வொர்க் என்பது கிளஸ்டருக்கான மேலடுக்கு நெட்வொர்க் ஆகும், இது தற்போதைய முனை நெட்வொர்க்கின் மேல் பயன்படுத்தப்படுகிறது. நெற்று முழுவதும் இணைப்பை அனுமதிக்கும் வகையில் இது வடிவமைக்கப்பட்டுள்ளது.
நெட்வொர்க் கிளஸ்டரை வரிசைப்படுத்துவது உங்கள் தேவைகளைப் பொறுத்து மிகவும் நெகிழ்வான செயல்முறையாகும், மேலும் பல விருப்பங்கள் உள்ளன. எங்கள் நிறுவலை முடிந்தவரை எளிமையாக வைத்திருக்க விரும்புவதால், எந்தவொரு உள்ளமைவும் அல்லது கூடுதல் குறியீடும் தேவையில்லாத வெவனெட் சொருகி பயன்படுத்துவோம், மேலும் இது ஒரு நெற்றுக்கு ஒரு ஐபி முகவரியை வழங்குகிறது, இது எங்களுக்கு சிறந்தது. நீங்கள் கூடுதல் விருப்பங்களைக் காண விரும்பினால், தயவுசெய்து இங்கே சரிபார்க்கவும்.
நெற்று நெட்வொர்க் அமைப்பைப் பெற இந்த கட்டளைகள் முக்கியமாக இருக்கும்.
# export kubever=$(kubectl version | base64 | tr -d '\n') # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
இப்போது உங்கள் முதன்மை முனையின் நிலையை நீங்கள் சரிபார்த்தால், அது ‘தயார்’ ஆக இருக்க வேண்டும்.
# kubectl get nodes
அடுத்து, நாங்கள் தொழிலாளர் முனைகளை கிளஸ்டரில் சேர்க்கிறோம்.
குபர்னெட்டஸ் கிளஸ்டரில் பணியாளர் முனைகளைச் சேர்த்தல்
குபெர்னெட்ஸ் கிளஸ்டரில் சேரும்போது ஒவ்வொரு தொழிலாளர் முனையிலும் பின்வரும் வழிமுறைகள் செய்யப்படும்.
முதலில் உங்கள் பணியாளர்-முனை -1 மற்றும் பணியாளர்-முனை -2 இல் ஹோஸ்ட்பெயரை அமைக்கவும், பின்னர் ஹோஸ்ட் உள்ளீடுகளை/etc/host கோப்பில் சேர்க்கவும்.
# hostnamectl set-hostname 'node-1' # cat <<EOF>> /etc/hosts 192.168.0.47 master-node 192.168.0.48 node-1 worker-node-1 192.168.0.49 node-2 worker-node-2 EOF
அடுத்து, பிங் கட்டளையைப் பயன்படுத்தி உங்கள் புதுப்பிக்கப்பட்ட ஹோஸ்ட் கோப்பு நன்றாக வேலை செய்கிறது என்பதை உறுதிப்படுத்த உங்கள் பணியாளர் முனைகளிலிருந்து உங்கள் முதன்மை முனையை பிங் செய்யவும்.
# 192.168.0.47
அடுத்து, SElinux ஐ முடக்கி, உங்கள் ஃபயர்வால் விதிகளைப் புதுப்பிக்கவும்.
# setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # firewall-cmd --permanent --add-port=6783/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd --permanent --add-port=30000-32767/tcp # firewall-cmd --reload # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
முதலில் டி.என்.எஃப் கட்டமைப்பு-மேலாளரைப் பயன்படுத்தி டோக்கர் களஞ்சியத்தைச் சேர்க்கவும்.
# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
அடுத்து, containerd.io தொகுப்பைச் சேர்க்கவும்.
# dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
இந்த இரண்டு தொகுப்புகள் நிறுவப்பட்டவுடன், டாக்கர்-சி இன் சமீபத்திய பதிப்பை நிறுவவும்.
# dnf install docker-ce
நறுக்குதல் சேவையை இயக்கவும் தொடங்கவும்.
# systemctl enable docker # systemctl start docker
சென்டோஸ் 8 இல் முன்பே நிறுவப்படாததால் குபெர்னெட்ஸ் களஞ்சியங்களை கைமுறையாக சேர்க்க வேண்டும்.
# cat <<EOF > /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
தொகுப்பு ரெப்போ இப்போது தயாராக இருப்பதால், நீங்கள் மேலே சென்று குபேம் நிறுவலாம்.
# dnf install kubeadm -y
சேவையைத் தொடங்கி இயக்கவும்.
# systemctl enable kubelet # systemctl start kubelet
க்ளஸ்டரில் சேர, kubeadm init உருவாக்கிய டோக்கன் நமக்கு இப்போது தேவைப்படுகிறது. நீங்கள் எங்காவது நகலெடுத்திருந்தால் அதை உங்கள் நோட் -1 மற்றும் நோட் -2 க்கு நகலெடுத்து ஒட்டலாம்.
# kubeadm join 192.168.0.47:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea35r4353d342fdea2997a1cf8caeddafd6d4360d606dbc82314683478hjmf78
கடைசி வரியில் பரிந்துரைக்கப்பட்டபடி, உங்கள் முதன்மை முனைக்குச் சென்று, பின்வரும் கட்டளையைப் பயன்படுத்தி தொழிலாளர் முனை -1 மற்றும் பணியாளர் முனை -2 ஆகியவை கிளஸ்டரில் சேர்ந்துள்ளதா என சரிபார்க்கவும்.
# kubectl get nodes
அனைத்து படிகளும் வெற்றிகரமாக இயங்கினால், நீங்கள் மாஸ்டர்-நோட்டில் தயார் நிலையில் நோட் -1 மற்றும் நோட் -2 ஐப் பார்க்க வேண்டும். இந்த கட்டத்தில், நீங்கள் இப்போது வெற்றிகரமாக குபெர்னெட்ஸ் கிளஸ்டரை சென்டோஸ் 8 இல் பயன்படுத்தியுள்ளீர்கள்.
பரிந்துரைக்கப்பட்ட வாசிப்பு: குபெர்னெட்ஸ் கிளஸ்டரில் என்ஜினெக்ஸை எவ்வாறு வரிசைப்படுத்துவது
நாங்கள் இங்கு உருவாக்கிய கிளஸ்டருக்கு ஒற்றை மாஸ்டர் முனை உள்ளது, மேலும், மாஸ்டர் முனை தோல்வியுற்றால், உங்கள் கிளஸ்டர் தரவை இழக்கக்கூடும், மேலும் புதிதாக மீண்டும் உருவாக்க வேண்டியிருக்கும்.
இந்த காரணத்திற்காக, நான் மிகவும் கிடைக்கக்கூடிய அமைப்பை பரிந்துரைக்கிறேன்.