הבדלים בין גרסאות בדף "לפרוס את אשכול Kubernetes עם CoreOS"

מתוך He Ikoula wiki
Jump to navigation Jump to search
 
(גרסת ביניים אחת של אותו משתמש אינה מוצגת)
שורה 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_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_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 を展開します。]]

גרסה אחרונה מ־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-UI.png


מאז, לוח מחוונים זה אתה בין אחרים שאפשר להציג מידע בצמתים שלך (Kubernetes Minion). בשביל זה, אתה יכול ללחוץ על "תצוגות " :


קובץ:Kubernetes-UI-2.png


לחץ על "צמתי " :


קובץ:Kubernetes-UI-3.png


רשימת מיניון Kubernetes צמתים שלך מופיעה :


קובץ:Kubernetes-UI-4.png


לחץ על אחד מהם כדי להציג מידע אודות צומת זה (גירסה Docker מערכת, KubeProxy, Kubelet, ועוד. |) :


קובץ:Kubernetes-UI-5.png


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 על ידי נכנס "תצוגות " ואז "תרמילי " :


קובץ:Kubernetes-UI-6.png


אנו יכולים לראות את ה-ip של המחשב המארח שבו גורם מכיל זה לפרוס, עם השם של הלהקה ואת כתובת ה-ip שלו :


קובץ:Kubernetes-UI-7.png


לחיצה על זה מקבל פרטים נוספים על התא שלנו :


קובץ:Kubernetes-UI-8.png


אנחנו יכולים לעצור את המיכל שלנו פשוט :


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-UI-9.png


לקבלת מידע נוסף, אדריכלות, רכיבים ותפעול מקבץ Kubernetes אנו מזמינים אתכם לקרוא את התיעוד הרשמי "אדריכלות Kubernetes" :


אין באפשרותך לפרסם תגובות.