הבדלים בין גרסאות בדף "לפרוס את אשכול Kubernetes עם CoreOS"
(3 גרסאות ביניים של אותו משתמש אינן מוצגות) | |||
שורה 1: | שורה 1: | ||
+ | <span data-link_translate_ro_title="Implementaţi un cluster Kubernetes cu CoreOS" data-link_translate_ro_url="Implementa%C5%A3i+un+cluster+Kubernetes+cu+CoreOS"></span>[[:ro:Implementaţi un cluster Kubernetes cu CoreOS]][[ro:Implementaţi un cluster Kubernetes cu CoreOS]] | ||
+ | <span data-link_translate_ru_title="Развертывание кластера Kubernetes с CoreOS" data-link_translate_ru_url="%D0%A0%D0%B0%D0%B7%D0%B2%D0%B5%D1%80%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BA%D0%BB%D0%B0%D1%81%D1%82%D0%B5%D1%80%D0%B0+Kubernetes+%D1%81+CoreOS"></span>[[:ru:Развертывание кластера Kubernetes с CoreOS]][[ru:Развертывание кластера Kubernetes с CoreOS]] | ||
+ | <span data-link_translate_pl_title="Wdróż klaster Kubernetes z CoreOS" data-link_translate_pl_url="Wdr%C3%B3%C5%BC+klaster+Kubernetes+z+CoreOS"></span>[[:pl:Wdróż klaster Kubernetes z CoreOS]][[pl:Wdróż klaster Kubernetes z CoreOS]] | ||
+ | <span data-link_translate_ja_title="クラスター コア Os と Kubernetes を展開します。" data-link_translate_ja_url="%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC+%E3%82%B3%E3%82%A2+Os+%E3%81%A8+Kubernetes+%E3%82%92%E5%B1%95%E9%96%8B%E3%81%97%E3%81%BE%E3%81%99%E3%80%82"></span>[[:ja:クラスター コア Os と Kubernetes を展開します。]][[ja:クラスター コア Os と Kubernetes を展開します。]] | ||
<span data-link_translate_ar_title="نشر مجموعة كوبيرنيتيس مع CoreOS" data-link_translate_ar_url="%D9%86%D8%B4%D8%B1+%D9%85%D8%AC%D9%85%D9%88%D8%B9%D8%A9+%D9%83%D9%88%D8%A8%D9%8A%D8%B1%D9%86%D9%8A%D8%AA%D9%8A%D8%B3+%D9%85%D8%B9+CoreOS"></span>[[:ar:نشر مجموعة كوبيرنيتيس مع CoreOS]][[ar:نشر مجموعة كوبيرنيتيس مع CoreOS]] | <span data-link_translate_ar_title="نشر مجموعة كوبيرنيتيس مع CoreOS" data-link_translate_ar_url="%D9%86%D8%B4%D8%B1+%D9%85%D8%AC%D9%85%D9%88%D8%B9%D8%A9+%D9%83%D9%88%D8%A8%D9%8A%D8%B1%D9%86%D9%8A%D8%AA%D9%8A%D8%B3+%D9%85%D8%B9+CoreOS"></span>[[:ar:نشر مجموعة كوبيرنيتيس مع CoreOS]][[ar:نشر مجموعة كوبيرنيتيس مع CoreOS]] | ||
<span data-link_translate_zh_title="部署群集与 CoreOS Kubernetes" data-link_translate_zh_url="%E9%83%A8%E7%BD%B2%E7%BE%A4%E9%9B%86%E4%B8%8E+CoreOS+Kubernetes"></span>[[:zh:部署群集与 CoreOS Kubernetes]][[zh:部署群集与 CoreOS Kubernetes]] | <span data-link_translate_zh_title="部署群集与 CoreOS Kubernetes" data-link_translate_zh_url="%E9%83%A8%E7%BD%B2%E7%BE%A4%E9%9B%86%E4%B8%8E+CoreOS+Kubernetes"></span>[[:zh:部署群集与 CoreOS Kubernetes]][[zh:部署群集与 CoreOS Kubernetes]] |
גרסה אחרונה מ־19:07, 7 בדצמבר 2015
ro:Implementaţi un cluster Kubernetes cu CoreOS
ru:Развертывание кластера Kubernetes с CoreOS
pl:Wdróż klaster Kubernetes z CoreOS
ja:クラスター コア Os と Kubernetes を展開します。
ar:نشر مجموعة كوبيرنيتيس مع CoreOS
zh:部署群集与 CoreOS Kubernetes
de:Bereitstellen eines Clusters Kubernetes mit CoreOS
nl:Implementeer een cluster Kubernetes met CoreOS
it:Distribuire un cluster Kubernetes con CoreOS
pt:Implantar um cluster Kubernetes com CoreOS
es:Implementar un clúster Kubernetes con CoreOS
en:Deploy a cluster Kubernetes with CoreOS
fr:Deployer un cluster Kubernetes avec CoreOS
מאמר זה הוא התוצאה של תרגום אוטומטי המבוצע על ידי תוכנה. אתה יכול להציג את מקור המאמר כאן.
הליך זה מתאר כיצד לפרוס במהירות, פשוט אשכול Kubernetes ריבוי צמתים עם 3 מופעים CoreOS. Kubernetes עבודה במצב לקוח - שרת, לקוח בשם Kubernetes "Kubernetes מיניון " ואת שרת "מאסטר Kubernetes ". המופע Kubernetes מאסטר הוא המופע שננהל את מרכזי מופעים Kubernetes מיניון s. בדוגמה שלנו, מופע CoreOS לשחק את התפקיד של האב Kubernetes, שני המופעים האחרים תשחק התפקיד של צומת Kubernetes (מיניון ).
Kubernetes
Kubernetes היא מערכת של תזמור פתח מקור שנוצרו על-ידי גוגל לניהול ביישום המכל עם Docker על מקבץ של מארחים מרובים (3 VM CoreOS בדוגמה שלנו ). היא מאפשרת את הפריסה, תחזוקה ומדרגיות של יישומים. לקבלת מידע נוסף אתה יכול להמשיך github Kubernetes
המקום
אנחנו מניחים שלך 3 כבר פרוסים מופעים CoreOS, qu 'הם יכולים לתקשר אחד עם השני כי אתה מחובר ssh עם ליבת המשתמש.
אם זה לא כבר נעשה, לעדכן את המופעים CoreOS כך הם לפחות בגרסה CoreOS 653.0.0 כוללים DCE 2 (עיין שלנו שאלות נפוצות עדכון CoreOS ידני). במקרה שלנו כל הגוף שלנו נמצאים CoreOS יציב 681.2.0.
$ cat /etc/lsb-release
DISTRIB_ID=CoreOS
DISTRIB_RELEASE=681.2.0
DISTRIB_CODENAME="Red Dog"
DISTRIB_DESCRIPTION="CoreOS 681.2.0"
עלינו גם להבטיח כי כל המופעים CoreOS שלנו יש זיהוי של מחשב שונה עבור פעולה תקינה של ההקשר אשכול. פשוט למחוק את הקובץ /etc/machine-id ולהפעיל מחדש את כל המופעים שלך CoreOS גם :
$ sudo rm -f /etc/machine-id && sudo reboot
מאסטר Kubernetes מופע התצורה
להחליף את הקובץ ענן-ברירת מחדל config.yml לתצורת שלנו מאסטר Kubernetes על-ידי ביצוע הפקודות הבאות (רק על המופע אשר ישמש כמאסטר, באותו סדר מאשר להלן ) :
core@Kube-MASTER ~ $ sudo wget -O /usr/share/oem/cloud-config.yml http://mirror02.ikoula.com/priv/coreos/kubernetes-master.yaml
--2015-06-22 15:55:48-- http://mirror02.ikoula.com/priv/coreos/kubernetes-master.yaml
Resolving mirror02.ikoula.com... 80.93.X.X, 2a00:c70:1:80:93:81:178:1
Connecting to mirror02.ikoula.com|80.93.X.X|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8913 (8.7K) [text/plain]
Saving to: '/usr/share/oem/cloud-config.yml'
<!--T:11-->
/usr/share/oem/cloud-config.yml 100%[===================================================================================================>] 8.70K --.-KB/s in 0s
<!--T:12-->
2015-06-22 15:55:48 (148 MB/s) - '/usr/share/oem/cloud-config.yml' saved [8913/8913]
core@Kube-MASTER ~ $ export `cat /etc/environment`
core@Kube-MASTER ~ $ sudo sed -i 's#PRIVATE_IP#'$COREOS_PRIVATE_IPV4'#g' /usr/share/oem/cloud-config.yml
אנחנו מתחילים מחדש את המופע שלנו כך התצורה שלה הוא יעיל :
core@Kube-MASTER ~ $ sudo reboot
אנחנו בודקים כך הגוף שלנו מאותחל כראוי :
core@Kube-MASTER ~ $ sudo fleetctl list-machines
MACHINE IP METADATA
aee19a88... 10.1.1.138 role=master
core@Kube-MASTER ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default
אתה יכול גם לראות שירותי /תקשיב יציאות (ישנם מרכיבים שרת/מאסטר Kubernetes ):
core@Kube-MASTER ~ $ sudo netstat -taupen | grep LISTEN
tcp 0 0 10.1.1.138:7001 0.0.0.0:* LISTEN 232 16319 634/etcd2
tcp 0 0 10.1.1.138:7080 0.0.0.0:* LISTEN 0 19392 1047/kube-apiserver
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN 0 19142 973/python
tcp 0 0 127.0.0.1:10251 0.0.0.0:* LISTEN 0 20047 1075/kube-scheduler
tcp 0 0 10.1.1.138:6443 0.0.0.0:* LISTEN 0 19406 1047/kube-apiserver
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 245 14794 502/systemd-resolve
tcp 0 0 127.0.0.1:10252 0.0.0.0:* LISTEN 0 19653 1058/kube-controlle
tcp 0 0 10.1.1.138:2380 0.0.0.0:* LISTEN 232 16313 634/etcd2
tcp6 0 0 :::8080 :::* LISTEN 0 19390 1047/kube-apiserver
tcp6 0 0 :::22 :::* LISTEN 0 13647 1/systemd
tcp6 0 0 :::4001 :::* LISTEN 232 16321 634/etcd2
tcp6 0 0 :::2379 :::* LISTEN 232 16320 634/etcd2
tcp6 0 0 :::5355 :::* LISTEN 245 14796 502/systemd-resolve
קביעת תצורה של מופעים Kubernetes ועושי
להחליף את הקובץ ענן-ברירת מחדל config.yml לתצורת שלנו מיניון Kubernetes על-ידי ביצוע הפקודות הבאות על כל המופע שלך יהיה לשחק את התפקיד של מיניון Kubernetes (רק על מופעים שיפעל הצומת תפקיד /מיניון, באותו סדר מאשר להלן ) :
core@Kube-MINION1 ~ $ sudo wget -O /usr/share/oem/cloud-config.yml http://mirror02.ikoula.com/priv/coreos/kubernetes-minion.yaml
--2015-06-22 16:39:26-- http://mirror02.ikoula.com/priv/coreos/kubernetes-minion.yaml
Resolving mirror02.ikoula.com... 80.93.X.X, 2a00:c70:1:80:93:81:178:1
Connecting to mirror02.ikoula.com|80.93.X.X|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5210 (5.1K) [text/plain]
Saving to: '/usr/share/oem/cloud-config.yml'
<!--T:25-->
/usr/share/oem/cloud-config.yml 100%[===================================================================================================>] 5.09K --.-KB/s in 0s
<!--T:26-->
2015-06-22 16:39:26 (428 MB/s) - '/usr/share/oem/cloud-config.yml' saved [5210/5210]
core@Kube-MINION1 ~ $ export `cat /etc/environment`
זהירות יש צורך להתאים את כתובת ה-ip פרטית של ערכאה המאסטר שלך kubernetes בפקודה שלהלן (להחליף 10.1.1.138 על-ידי ip הפרטי של ערכאה המאסטר שלך kubernetes ) הפקודה שלהלן :
core@Kube-MINION1 ~ $ sudo sed -i 's#MASTER_PRIVATE_IP#10.1.1.138#g' /usr/share/oem/cloud-config.yml
סוף סוף פעם אחת יש ביצוע פקודות אלה באופן זהה על כל אחד המופעים שלך /צמתי kubernetes מיניון, מחדש כך בתצורה שלהם הם יעילים ולהצטרף מה האשכול.
core@Kube-MINION1 ~ $ sudo reboot
אנו מאמתים את זה שלנו 2 טוב, מיניון kubernetes מופעים הצטרף שלנו אשכול (ניתן להפעיל את הפקודה הבאה על כל חבר שלך מופע האשכול ) :
core@Kube-MASTER ~ $ sudo fleetctl list-machines
MACHINE IP METADATA
5097f972... 10.1.1.215 role=node
aee19a88... 10.1.1.138 role=master
fe86214c... 10.1.1.83 role=node
core@Kube-MINION1 ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/coreos.com/network/subnets/10.244.38.0-24
/coreos.com/network/subnets/10.244.23.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default
/registry/events
/registry/events/default
/registry/events/default/10.1.1.215.13ea16c9c70924f4
/registry/events/default/10.1.1.83.13ea16f74bd4de1c
/registry/events/default/10.1.1.83.13ea16f77a4e7ab2
/registry/events/default/10.1.1.215.13ea16c991a4ee57
/registry/minions
/registry/minions/10.1.1.215
/registry/minions/10.1.1.83
core@Kube-MINION2 ~ $ sudo etcdctl ls --recursive
/coreos.com
/coreos.com/updateengine
/coreos.com/updateengine/rebootlock
/coreos.com/updateengine/rebootlock/semaphore
/coreos.com/network
/coreos.com/network/config
/coreos.com/network/subnets
/coreos.com/network/subnets/10.244.69.0-24
/coreos.com/network/subnets/10.244.38.0-24
/coreos.com/network/subnets/10.244.23.0-24
/registry
/registry/ranges
/registry/ranges/serviceips
/registry/ranges/servicenodeports
/registry/namespaces
/registry/namespaces/default
/registry/services
/registry/services/specs
/registry/services/specs/default
/registry/services/specs/default/kubernetes
/registry/services/specs/default/kubernetes-ro
/registry/services/endpoints
/registry/services/endpoints/default
/registry/services/endpoints/default/kubernetes
/registry/services/endpoints/default/kubernetes-ro
/registry/serviceaccounts
/registry/serviceaccounts/default
/registry/serviceaccounts/default/default
/registry/events
/registry/events/default
/registry/events/default/10.1.1.83.13ea16f77a4e7ab2
/registry/events/default/10.1.1.215.13ea16c991a4ee57
/registry/events/default/10.1.1.215.13ea16c9c70924f4
/registry/events/default/10.1.1.83.13ea16f74bd4de1c
/registry/minions
/registry/minions/10.1.1.215
/registry/minions/10.1.1.83
על המופעים שלנו Kubernetes מיניון כאן שירותי /תקשיב יציאות (לרבות בשירות Kubelet שבו נעשה חילופי מידע עם Kubernetes מאסטר ) :
core@Kube-MINION1 ~ $ sudo netstat -taupen | grep LISTEN
tcp 0 0 127.0.0.1:10249 0.0.0.0:* LISTEN 0 18280 849/kube-proxy
tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 245 14843 500/systemd-resolve
tcp6 0 0 :::49005 :::* LISTEN 0 18284 849/kube-proxy
tcp6 0 0 :::10255 :::* LISTEN 0 19213 1025/kubelet
tcp6 0 0 :::47666 :::* LISTEN 0 18309 849/kube-proxy
tcp6 0 0 :::22 :::* LISTEN 0 13669 1/systemd
tcp6 0 0 :::4001 :::* LISTEN 232 16106 617/etcd2
tcp6 0 0 :::4194 :::* LISTEN 0 19096 1025/kubelet
tcp6 0 0 :::10248 :::* LISTEN 0 19210 1025/kubelet
tcp6 0 0 :::10250 :::* LISTEN 0 19305 1025/kubelet
tcp6 0 0 :::2379 :::* LISTEN 232 16105 617/etcd2
tcp6 0 0 :::5355 :::* LISTEN 245 14845 500/systemd-resolve
אימות של תקשורת עם ה-API של מאסטר Kubernetes
Kubernetes ממשק המשתמש :
כדי לגשת ללוח המחוונים Kubernetes, אתה צריך לאפשר חיבורים יציאת 8080 (שרת ה-API ראשי Kubernetes ) ביצע יציאה אם תידרש העברת (העברת אזור ) יציאה 8080 מופע המאסטר שלך Kubernetes. אז, פשוט ללכת לכתובת ה-url http://adresse_ip_publique_instance_kubernetes_master:8080/static/app/#/dashboard/ בדפדפן שלך :
מאז, לוח מחוונים זה אתה בין אחרים שאפשר להציג מידע בצמתים שלך (Kubernetes Minion). בשביל זה, אתה יכול ללחוץ על "תצוגות " :
לחץ על "צמתי " :
רשימת מיניון Kubernetes צמתים שלך מופיעה :
לחץ על אחד מהם כדי להציג מידע אודות צומת זה (גירסה Docker מערכת, KubeProxy, Kubelet, ועוד. |) :
Kubernetes CLI :
באפשרותך גם להשתמש בכלים Kubectl מאז מופע המאסטר שלך Kubernetes. לשם כך, עליך להתקין את תוכנית השירות כדלקמן :
ברגע נכנסת לתוך ssh על סוג הבסיס שלך Kubernetes מופע הפקודות הבאות :
core@Kube-MASTER ~ $ sudo wget -O /opt/bin/kubectl https://storage.googleapis.com/kubernetes-release/release/v0.17.0/bin/linux/amd64/kubectl
--2015-06-23 11:39:09-- https://storage.googleapis.com/kubernetes-release/release/v0.17.0/bin/linux/amd64/kubectl
Resolving storage.googleapis.com... 64.233.166.128, 2a00:1450:400c:c09::80
Connecting to storage.googleapis.com|64.233.166.128|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 20077224 (19M) [application/octet-stream]
Saving to: '/opt/bin/kubectl'
<!--T:54-->
/opt/bin/kubectl 100%[===================================================================================================>] 19.15M 1.18MB/s in 16s
<!--T:55-->
2015-06-23 11:39:26 (1.18 MB/s) - '/opt/bin/kubectl' saved [20077224/20077224]
core@Kube-MASTER ~ $ sudo chmod 755 /opt/bin/kubectl
המבחן של תקשורת טובה עם API Kubernetes שלך :
core@Kube-MASTER ~ $ kubectl get node
NAME LABELS STATUS
10.1.1.215 kubernetes.io/hostname=10.1.1.215 Ready
10.1.1.83 kubernetes.io/hostname=10.1.1.83 Ready
core@Kube-MASTER ~ $ kubectl cluster-info
Kubernetes master is running at http://localhost:8080
אנחנו ובכך ניתן לפרוס מיכל הראשון Nginx באשכול שלנו :
core@Kube-MASTER ~ $ kubectl run-container nginx --image=nginx
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
nginx nginx nginx run-container=nginx 1
לאחר מכן אנו יכולים או אפילו על אשר למארחים. גורם מכיל זה נפרס, השם של הלהקה, ה-ip אשר הושפע :
core@Kube-MASTER ~ $ kubectl get pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGE
nginx-zia71 10.244.38.2 10.1.1.215/10.1.1.215 run-container=nginx Running 3 minutes
nginx nginx Running 1 minutes
אנו מוצאים אותו מידע באמצעות לוח המחוונים Kubernete UI על ידי נכנס "תצוגות " ואז "תרמילי " :
אנו יכולים לראות את ה-ip של המחשב המארח שבו גורם מכיל זה לפרוס, עם השם של הלהקה ואת כתובת ה-ip שלו :
לחיצה על זה מקבל פרטים נוספים על התא שלנו :
אנחנו יכולים לעצור את המיכל שלנו פשוט :
core@Kube-MASTER ~ $ kubectl stop rc nginx
replicationcontrollers/nginx
אנחנו ניתן לפרוס שלנו מיכל 2 עותקים משוכפלים :
core@Kube-MASTER ~ $ kubectl run-container nginx --image=nginx --replicas=2
CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS
nginx nginx nginx run-container=nginx 2
core@Kube-MASTER ~ $ kubectl get pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS CREATED MESSAGE
nginx-7gen5 10.244.38.3 10.1.1.215/10.1.1.215 run-container=nginx Running About a minute
nginx nginx Running 39 seconds
nginx-w4xue 10.244.23.3 10.1.1.83/10.1.1.83 run-container=nginx Running About a minute
nginx nginx Running About a minute
לקבלת מידע נוסף, אדריכלות, רכיבים ותפעול מקבץ Kubernetes אנו מזמינים אתכם לקרוא את התיעוד הרשמי "אדריכלות Kubernetes" :
הפעלת רענון אוטומטי של התגובות