Развертывание кластера Kubernetes с CoreOS: различия между версиями
Ikbot (обсуждение | вклад) |
Ikbot (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | <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_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_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]] |
Версия 19:06, 7 декабря 2015
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 Миньон ). Для этого, вы можете нажать на "Просмотров " :
Нажмите на "Узлы " :
Появится список ваших узлы Kubernetes Миньон :
Нажмите на одну из них для отображения сведений об этом узле (Версия Докер, системы, 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 пользовательского интерфейса, перейдя "Просмотров " Затем "Стручки " :
Мы можем видеть на IP-адрес хоста, на котором развернут этот контейнер, с именем Pod и его IP-адрес :
Щелкать на ем получает более подробную информацию о наших Pod :
Мы можем остановить наши контейнера просто :
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 архитектура» :
Включить автоматическое обновление комментариев