ක්ලස්ටර්කිට්

KlusterKit: Kubernetes යෙදවීම් සරල කිරීමට සහ භෞතිකව හුදකලා වූ පරිශ්‍ර පරිසරයක ධාවනය කිරීමට විවෘත මූලාශ්‍ර මෙවලම් කට්ටලයක්

ක්ලස්ටර්කිට්

Platform9 යනු GitHub හි Apache v2.0 බලපත්‍රය යටතේ මෙවලම් තුනක කට්ටලයක් වන Klusterkit විවෘත මූලාශ්‍ර බව නිවේදනය කිරීමට අපි සතුටු වෙමු.

අපගේ සේවාලාභීන් බොහෝ විට අන්තර්ජාලයට සම්බන්ධ නොවන (ආරක්ෂාව හෝ වෙනත් හේතූන් මත) පුද්ගලික දත්ත මධ්‍යස්ථානවල මෘදුකාංග ඉදිරිපත් කරයි. මෙම විශාල සමාගම්වලට Kubernetes වෙතින් ප්‍රයෝජන ගැනීමට සහ ඔවුන්ගේ යෙදුම් නවීකරණය කිරීමට අවශ්‍ය වන අතර ඒ සමඟම ඒවා බොහෝ විට බාහිර ලෝකයට සම්බන්ධ නොවන විවිධ දත්ත මධ්‍යස්ථානවල රෝල් කිරීමට අවශ්‍ය වේ. භෞතිකව හුදකලා වූ පරිසරයන් තුළ K8s පොකුරු සැපයීම සහ කළමනාකරණය කිරීම පහසු කරමින් Klusterkit පැමිණෙන්නේ මෙහිදීය.

Kubernetes නිෂ්පාදන පොකුරක ජීවන චක්‍රය කළමනාකරණය කිරීම සඳහා එකට හෝ වෙන වෙනම භාවිතා කළ හැකි ස්වාධීන මෙවලම් තුනක් Klusterkit හි ඇතුළත් වේ:

  1. etcdadm, සරල කළ etcd පොකුරු කළමනාකරණය සඳහා CLI.
  2. nodeadm, kubeadm දිගු කරන සහ kubeadm මගින් අවශ්‍ය පරායත්තයන් යොදවන නෝඩ් පරිපාලනය සඳහා CLI.
  3. cctl, Kubernetes ප්‍රජාවෙන් Cluster API භාවිතා කරන පොකුරු ජීවන චක්‍ර කළමනාකරණ මෙවලමක් වන අතර පරිශ්‍රයේ සහ භෞතිකව හුදකලා වූ පරිසරයන් තුළ පවා ඉහළ මට්ටමක පවතින Kubernetes පොකුරු බාධාවකින් තොරව බෙදා හැරීමට සහ නඩත්තු කිරීමට nodeadm සහ etcdadm භාවිතා කරයි.

මෙම මෙවලම් තුන එක්ව පහත සඳහන් කාර්යයන් ඉටු කරයි:

  • Cluster API හරහා භෞතිකව හුදකලා වූ පරිශ්‍රයේ පරිසරය තුළ ඉතා පහසුවෙන් ලබා ගත හැකි etcd පොකුරක් සහ Kubernetes උපකරණ පුවරුව පහසුවෙන් සැපයීම සහ කළමනාකරණය කිරීම.
  • etcd උපස්ථය භාවිතයෙන් අසාර්ථක වීමෙන් පසු පොකුරු පාලක පැනලය ප්‍රතිසාධනය කිරීම.
  • Kubernetes භෞතිකව හුදකලා පරිසරයකට ලබා දීමට අවශ්‍ය සියලුම පුරාවස්තු ඇසුරුම් කිරීම.

Klusterkit විශේෂාංග

  • බහු-මාස්ටර් සහාය (HA පොකුරු K8s).
  • ආරක්ෂිත etcd පොකුරු බෙදා හැරීම සහ කළමනාකරණය කිරීම.
  • ශාරීරිකව හුදකලා පරිසරයක වැඩ කිරීම.
  • rolling upgrades සහ rollbacks සඳහා සහය දක්වයි.
  • Flannel (vxlan) පසුපෙළ සඳහා CNI ලෙස; අනෙකුත් CNI වලට සහය දැක්වීමට සැලසුම් කර ඇත.
  • ගණපූරණය නැතිවීමෙන් පසු etcd පොකුරු උපස්ථ කිරීම සහ ප්‍රතිසාධනය කිරීම.
  • මතකය සහ CPU කාලය අවසන් වීමෙන් පාලක පැනලය ආරක්ෂා කරයි.

Klusterkit විසඳුම් ගෘහ නිර්මාණ ශිල්පය

ක්ලස්ටර්කිට්

දෝෂ ඉවසීම සහ සරල බව සඳහා, Klusterkit Kubernetes පොකුරු පාරදත්ත ගබඩා කිරීමට තනි cctl-state.yaml ගොනුවක් භාවිතා කරයි. cctl CLI හරහා ඔබට මෙම රාජ්‍ය ගොනුව ඇති ඕනෑම යන්ත්‍රයක Kubernetes පොකුරක ජීවන චක්‍රය කළමනාකරණය කළ හැක. මෙය ක්‍රියාකරුගේ ලැප්ටොප් පරිගණකයක් හෝ Kubernetes පොකුරේ කොටසක් වන වෙනත් පරිගණකයක් විය හැක.

Cctl විසින් පොකුරු මත CRUD මෙහෙයුම් සඳහා පුස්තකාලයක් ලෙස upstream සිට cluster-api අතුරුමුහුණත ක්‍රියාත්මක කරයි. ඔහු භාවිතා කරයි ssh සපයන්නා, Platform9 වෙතින් විවෘත මූලාශ්‍ර හිස් ලෝහ පොකුරු-api සපයන්නා වන අතර, එය පොකුරේ මෙහෙයුම් සිදු කිරීම සඳහා etcdadm සහ nodeadm ලෙස හැඳින්වේ.

Klusterkit සහ එහි සංරචක භාවිතා කරන්නේ කෙසේද:

1 - go get විධානය සමඟින් මෙවලම් තුනෙන් ඕනෑම එකක් පහසුවෙන් එකතු කර ගත හැක:

go get -u github.com/platform9/cctl

go get -u github.com/platform9/nodeadm

go get -u github.com/kubernetes-sigs/etcdadm

2 - මෙම ක්‍රියාත්මක කළ හැකි ඒවා ඇසුරුම් කර ඉතා ඉහළ මට්ටමක පවතින Kubernetes පොකුර ක්‍රියාත්මක විය යුතු ඉලක්ක යන්ත්‍ර වෙත පිටපත් කළ හැක. nodeadm සහ etcdadm ගොනු අනුවාද නාමාවලි තුළ තබන්න:

cp $GOPATH/bin/nodeadm /var/cache/ssh-provider/nodeadm//

cp $GOPATH/bin/etcdadm /var/cache/ssh-provider/etcdadm//

3 - ඔබට භෞතිකව හුදකලා පරිසරයක් තුළ දේශීයව Kubernetes පොකුරක් සංවිධානය කිරීමට අවශ්‍ය නම්, nodeadm සහ etcdadm බාගැනීම් විධානය භාවිතයෙන් අන්තර්ජාල ප්‍රවේශය ඇති පරිගණකයකට අවශ්‍ය පරායත්තයන් පහසුවෙන් කල්තියා බාගත කළ හැකිය. ඉන්පසු බාගත කළ අයිතම (එනම් systemd, CNI ක්‍රියාත්මක කළ හැකි ගොනු සඳහා kubelet සහ kubelet ඒකක ගොනුව, kubeadm ගොනුව, Kubernetes ඇතුළු සියලුම බහාලුම් රූප, Keepalived රූපය සහ systemd ගොනුව, etcd බහාලුම් රූපය සහ අනුරූප වින්‍යාස ගොනු) භෞතිකව හුදකලා වූ ධාරක වෙත පහසුවෙන් පිටපත් කළ හැකිය. cctl, nodeadm සහ etcdadm සමඟ. ( විස්තර බලන්න විකි).

4 - සෑම දෙයක්ම ක්‍රියාත්මක වූ පසු, ඔබට විධාන කිහිපයක් සමඟ පළමු කුබර්නෙටස් පොකුර සෑදිය හැකිය:

– පළමුව පොකුර සඳහා අක්තපත්‍ර සාදන්න.

$GOPATH/bin/cctl create credential --user root --private-key ~/.ssh/id_rsa

- ඉන්පසු පොකුරු වස්තුවක් සාදන්න. -help සහාය දක්වන විකල්ප ලැයිස්තුවක් ගෙන එයි.

$GOPATH/bin/cctl create cluster --pod-network 192.168.0.0/16 --service-network 192.169.0.0/24

- අවසාන වශයෙන්, පොකුරේ පළමු යන්ත්රය සාදන්න.

$GOPATH/bin/cctl create machine --ip $MACHINE_IP --role master

වැඩිදුර ලියකියවිලි කියවන්න GitHub.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න