Развертывание кластера Kubernetes с CoreOS: различия между версиями

Материал из Ru Ikoula wiki
Jump to navigation Jump to search
 
(не показано 6 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
<span data-link_translate_ru_title="Развертывание кластера Kubernetes с CoreOS"  data-link_translate_ru_url="Развертывание кластера Kubernetes с CoreOS"></span>[[:ru:Развертывание кластера Kubernetes с CoreOS]][[ru:Развертывание кластера Kubernetes с CoreOS]]
 +
<span data-link_translate_he_title="לפרוס את אשכול Kubernetes עם CoreOS"  data-link_translate_he_url="%D7%9C%D7%A4%D7%A8%D7%95%D7%A1+%D7%90%D7%AA+%D7%90%D7%A9%D7%9B%D7%95%D7%9C+Kubernetes+%D7%A2%D7%9D+CoreOS"></span>[[:he:לפרוס את אשכול Kubernetes עם CoreOS]][[he:לפרוס את אשכול Kubernetes עם CoreOS]]
 +
<span data-link_translate_de_title="Bereitstellen eines Clusters Kubernetes mit CoreOS"  data-link_translate_de_url="Bereitstellen+eines+Clusters+Kubernetes+mit+CoreOS"></span>[[:de:Bereitstellen eines Clusters Kubernetes mit CoreOS]][[de:Bereitstellen eines Clusters Kubernetes mit CoreOS]]
 +
<span data-link_translate_nl_title="Implementeer een cluster Kubernetes met CoreOS"  data-link_translate_nl_url="Implementeer+een+cluster+Kubernetes+met+CoreOS"></span>[[:nl:Implementeer een cluster Kubernetes met CoreOS]][[nl:Implementeer een cluster Kubernetes met CoreOS]]
 +
<span data-link_translate_it_title="Distribuire un cluster Kubernetes con CoreOS"  data-link_translate_it_url="Distribuire+un+cluster+Kubernetes+con+CoreOS"></span>[[:it:Distribuire un cluster Kubernetes con CoreOS]][[it:Distribuire un cluster Kubernetes con CoreOS]]
 +
<span data-link_translate_pt_title="Implantar um cluster Kubernetes com CoreOS"  data-link_translate_pt_url="Implantar+um+cluster+Kubernetes+com+CoreOS"></span>[[:pt:Implantar um cluster Kubernetes com CoreOS]][[pt:Implantar um cluster Kubernetes com CoreOS]]
 +
<span data-link_translate_es_title="Implementar un clúster Kubernetes con CoreOS"  data-link_translate_es_url="Implementar+un+cl%C3%BAster+Kubernetes+con+CoreOS"></span>[[:es:Implementar un clúster Kubernetes con CoreOS]][[es:Implementar un clúster Kubernetes con CoreOS]]
 
<span data-link_translate_en_title="Deploy a cluster Kubernetes with CoreOS"  data-link_translate_en_url="Deploy+a+cluster+Kubernetes+with+CoreOS"></span>[[:en:Deploy a cluster Kubernetes with CoreOS]][[en:Deploy a cluster Kubernetes with CoreOS]]
 
<span data-link_translate_en_title="Deploy a cluster Kubernetes with CoreOS"  data-link_translate_en_url="Deploy+a+cluster+Kubernetes+with+CoreOS"></span>[[:en:Deploy a cluster Kubernetes with CoreOS]][[en:Deploy a cluster Kubernetes with 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 を展開します。]]

Текущая версия на 18:40, 9 февраля 2017

ru:Развертывание кластера Kubernetes с CoreOS he:לפרוס את אשכול Kubernetes עם CoreOS 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 ja:クラスター コア Os と Kubernetes を展開します。 ar:نشر مجموعة كوبيرنيتيس مع CoreOS zh:部署群集与 CoreOS Kubernetes ro:Implementaţi un cluster Kubernetes cu CoreOS pl:Wdróż klaster Kubernetes z CoreOS fr:Deployer un cluster Kubernetes avec CoreOS

Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.








Эта процедура описывает, как развернуть быстро и просто кластер Kubernetes несколько узлов с 3 экземпляры CoreOS. Kubernetes работа в режиме клиент - Сервер, клиент Kubernetes называется "Kubernetes Миньон " и сервер "Мастер Kubernetes ". Kubernetes мастер экземпляр является экземпляром, который будет планировать централизованно экземпляров Kubernetes слуг. В нашем примере экземпляр CoreOS будет играть роль главного Kubernetes и двух других экземпляров будет играть роль узла Kubernetes (Миньон ).


Kubernetes представляет собой систему открытых оркестровка источник, созданный Google для управления контейнера приложений с Докер на кластере нескольких хостов (3 VM CoreOS в нашем примере ). Это позволяет развертывания, обслуживания и масштабируемость приложений. Для получения дополнительной информации вы можете пойти GitHub Kubernetes


Мы предполагаем, что ваш 3 CoreOS экземпляры уже развернута, Цюй 'они могут общаться друг с другом и что вы вошли ssh с основного пользователя.


Если это уже не сделано, обновить экземпляры CoreOS так, что они, по крайней мере, в версии CoreOS 653.0.0 и включают в себя DCE 2 (Смотрите наш FAQ Вручную обновить 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


Проверка связи с Master Kubernetes API :

UI Kubernetes :

Для доступа к панели управления Kubernetes, вам нужно разрешить подключения к порту 8080 (Kubernetes-главный сервер API ) и осуществляется через порт при необходимости пересылки (вперед область ) Порт 8080 Ваш мастер экземпляр Kubernetes. Затем, просто перейдите по URL-адресу http://adresse_ip_publique_instance_kubernetes_master:8080/static/app/#/dashboard/ в вашем браузере :


Kubernetes-UI.png


Начиная с этой панели, вы находитесь среди других возможных для отображения информации о вашем узлы (Kubernetes Миньон ). Для этого, вы можете нажать на "Просмотров " :


Kubernetes-UI-2.png


Нажмите на "Узлы " :


Kubernetes-UI-3.png


Появится список ваших узлы Kubernetes Миньон :


Kubernetes-UI-4.png


Нажмите на одну из них для отображения сведений об этом узле (Версия Докер, системы, 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 пользовательского интерфейса, перейдя "Просмотров " Затем "Стручки " :


Kubernetes-UI-6.png


Мы можем видеть на IP-адрес хоста, на котором развернут этот контейнер, с именем Pod и его IP-адрес :


Kubernetes-UI-7.png


Щелкать на ем получает более подробную информацию о наших Pod :


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 архитектура» :


Вы не можете оставлять комментарии.