נתרם על ידי גוגל לקהילת Opensource, Kubernetes הפך כעת לכלי ניהול המכולות המועדף עליך. הוא יכול לנהל ולתזמן לא רק זמן ריצה של דוקר אלא גם מכולות ו Rkt זמן ריצה.
טיפוסי Kubernetes לאשכול יהיה בדרך כלל צומת אב וכמה צמתים של עובדים או מיניונים. צמת העובדים מנוהלת לאחר מכן מצומת הראשי, ובכך מבטיחה כי האשכול מנוהל מנקודה מרכזית.
חשוב גם להזכיר כי תוכל גם לפרוס אשכול Kubernetes עם צומת יחיד אשר מומלץ בדרך כלל לעומסי עבודה קלים מאוד שאינם מייצרים. לשם כך, אתה יכול להשתמש Minikube, שהוא כלי שמפעיל אשכול Kubernetes עם צומת יחיד במכונה וירטואלית בצומת שלך.
מומלץ לקרוא: כיצד להתקין אשכול Kubernetes ב- CentOS 8
להדרכה זו, נעבור דרך צומת מרובה Kubernetes התקנת אשכול על CentOS 7 לינוקס. הדרכה זו מבוססת על שורת פקודה כך שתזדקק לגישה לחלון הטרמינל שלך.
אשכול 3 הצמתים שלנו ייראה בערך כך:
ל Kubernetes כדי לעבוד, תזדקק למנוע מכולה. עבור התקנה זו, נשתמש עגינה כיוון שהוא הפופולרי ביותר.
השלבים הבאים יפעלו על צומת מאסטר.
בצומת הראשי שלך, הגדר את שם המארח ואם אין לך שרת DNS, עדכן גם את /etc/hosts קוֹבֶץ.
# hostnamectl set-host-node. # חתול <> /etc /hosts. 10.128.0.27 מאסטר-צומת. 10.128.0.29 צומת -1 עובד-צומת -1. 10.128.0.30 צומת -2 עובד-צומת -2. EOF.
אתה יכול לבצע פינג צומת עובד 1 ו צומת עובדים 2 כדי לבדוק אם קובץ המארח המעודכן שלך תקין פקודת פינג.
# פינג 10.128.0.29. # פינג 10.128.0.30.
לאחר מכן, השבת סלינוקס ועדכן את חוקי חומת האש שלך.
# setenforce 0. # sed -i -follow -symlinks 's/SELINUX = אכיפה/SELINUX = מושבת/g'/etc/sysconfig/selinux. # אתחול מחדש.
הגדר את כללי חומת האש הבאים ביציאות. וודא שכל אחד פקודת firewall-cmd, מחזירה הצלחה.
# 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 – טען מחדש. # modprobe br_netfilter. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
יהיה עליך להוסיף Kubernetes מאגרים באופן ידני מכיוון שהם אינם מותקנים כברירת מחדל CentOS 7.
חתול </etc/yum.repos.d/kubernetes.repo. [kubernetes] name = Kubernetes. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. מופעל = 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 ו עגינה חבילות.
# yum התקן kubeadm docker -y
כאשר ההתקנה מסתיימת בהצלחה, הפעל והפעל את שני השירותים.
# systemctl אפשר kubelet. # systemctl start kubelet. # systemctl אפשר docker. # systemctl התחל עגינה.
כעת אנו מוכנים לאתחל את master kubernetes, אך לפני כן עליך להשבית החלפה על מנת להפעיל "kubeadm init" פקודה.
# swapoff -a.
אתחול מאסטר Kubernetes הוא תהליך אוטומטי לחלוטין המנוהל על ידי "kubeadm init"פקודה שתפעיל.
# kubeadm init.
ייתכן שתרצה להעתיק את השורה האחרונה ולשמור אותה במקום כלשהו מכיוון שתצטרך להריץ אותה ב- צמתים של עובדים.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \-Discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425d
עֵצָה: לפעמים פקודה זו עשויה להתלונן על טיעונים (טוען) עבר, אז ערוך אותו כדי להימנע משגיאות. אז תמחק את ‘\’
דמות המלווה את --אֲסִימוֹן
והפקודה האחרונה שלך תיראה כך.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5-Discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd.
לאחר אתחול Kubernetes בהצלחה, יהיה עליך לאפשר למשתמש שלך להתחיל להשתמש באשכול. במקרה שלנו, אנו רוצים להריץ התקנה זו כ שורש משתמש, לכן נמשיך ונריץ פקודות אלה כשורש. אתה יכול לשנות ל- משתמש מופעל סודו אתה מעדיף והפעל את הפעולות שלהלן באמצעות סודו.
להשתמש שורש, לרוץ:
# 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 לקבל צמתים.
בשלב זה, תבחין גם במעמדו של צומת מאסטר הוא 'לא מוכן’. הסיבה לכך היא שעוד לא נפרסנו את רשת תרמילים לאשכול.
ה רשת תרמילים היא רשת כיסוי האשכול, שנפרסת על גבי רשת הצמתים הנוכחית. הוא נועד לאפשר קישוריות בין התרמיל.
פריסת אשכול הרשת היא תהליך גמיש ביותר בהתאם לצרכים שלך וישנן אפשרויות רבות זמינות. מכיוון שאנו רוצים לשמור על ההתקנה שלנו פשוטה ככל האפשר, נשתמש וויוונט תוסף שאינו דורש שום תצורה או קוד נוסף והוא מספק כתובת IP אחת לכל תרמיל וזה נהדר עבורנו. אם אתה רוצה לראות אפשרויות נוספות, אנא תבדוק פה.
פקודות אלה יהיו חשובות בכדי לקבל את הגדרת רשת התרמילים.
# ייצוא kubever = $ (גרסת kubectl | base64 | tr -d '\ n') # kubectl להחיל -f " https://cloud.weave.works/k8s/net? k8s-version = $ kubever "
עכשיו אם אתה בודק את הסטטוס שלך צומת מאסטר, זה צריך להיות 'מוּכָן’.
# kubectl לקבל צמתים.
לאחר מכן, נוסיף את צמתים של עובדים לאשכול.
השלבים הבאים יפעלו על צמתים של עובדים. צעדים אלה צריכים להיות מופעלים על כל צומת עובדים בעת הצטרפות ל Kubernetes אֶשׁכּוֹל.
על שלך צומת עובד 1 ו צומת עובדים 2, הגדר את שם המארח ובמקרה שאין לך שרת DNS, עדכן גם את צמתי האב והעובד שלך /etc/hosts קוֹבֶץ.
# hostnamectl set-hostname 'node-1' # חתול <> /etc /hosts. 10.128.0.27 מאסטר-צומת. 10.128.0.29 צומת -1 עובד-צומת -1. 10.128.0.30 צומת -2 עובד-צומת -2. EOF.
אתה יכול לבצע פינג צומת מאסטר כדי לבדוק אם קובץ המארח המעודכן שלך תקין.
לאחר מכן, השבת סלינוקס ועדכן את חוקי חומת האש שלך.
# setenforce 0. # sed -i -follow -symlinks 's/SELINUX = אכיפה/SELINUX = מושבת/g'/etc/sysconfig/selinux.
הגדר את כללי חומת האש הבאים ביציאות. וודא שכל פקודות cm-firewall מחזירות הצלחה.
# 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-טען מחדש. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
יהיה עליך להוסיף Kubernetes מאגרים באופן ידני מכיוון שהם אינם מותקנים מראש CentOS 7.
חתול </etc/yum.repos.d/kubernetes.repo. [kubernetes] name = Kubernetes. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. מופעל = 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 ו עגינה חבילות.
# yum התקן kubeadm docker -y
התחל והפעל את שני השירותים.
# systemctl אפשר docker. # systemctl התחל עגינה. # systemctl אפשר kubelet. # systemctl start kubelet.
כעת אנו דורשים את האסימון לכך kubeadm init שנוצר, להצטרף לאשכול. אתה יכול להעתיק ולהדביק אותו ב- צומת -1 ו צומת -2 אם היית מעתיק את זה איפשהו.
# kubeadm join 10.128.0.27:6443-אסימון nu06lu.xrsux0ss0ixtnms5-Discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425d
כפי שהוצע בשורה האחרונה, חזור אל שלך צומת מאסטר ובדוק אם צומת עובדים -1 ו צומת עובדים 2 הצטרפו לאשכול באמצעות הפקודה הבאה.
# kubectl לקבל צמתים.
אם כל השלבים פועלים בהצלחה, אז אתה אמור לראות צומת -1 ו צומת -2 במצב מוכן ב- צומת מאסטר.
מומלץ לקרוא: כיצד לפרוס Nginx באשכול Kubernetes
בשלב זה, השלמנו בהצלחה התקנה של Kubernetes אשכול על צנטוס 7 והגענו בהצלחה לשניים צמתים של עובדים. כעת תוכל להתחיל ליצור את התרמילים ולפרוס את השירותים שלך.