Как развернуть приложение микросервиса, используя Kubernetes, используя три машины в моей локальной сети? - PullRequest
0 голосов
/ 23 октября 2019

Поскольку я новичок в Kubernetes, я до сих пор не понял, как развернуть приложение в моей локальной сети, используя одну или несколько физических машин. Обычно учебники в Интернете описывают ситуации с использованием мини-куба, но это только для локальных машинных тестов, не так ли? Или ситуации, когда развертывание выполняется на облачных платформах, таких как Google.
Я был бы очень признателен за поддержку в том, с чего начать? В моем случае мне нужно будет устанавливать только Kubernetes на машины? Это тривиальная задача?

Ответы [ 4 ]

0 голосов
/ 23 октября 2019

Kubeadm позволяет создавать кластеры на любом компьютере с Docker.

Это руководство поможет вам создать свой первый кластер с 1 главным и 1 рабочим узлами. (Это основано на Debian)

Выполните следующую команду на всех 2 машинах:

Установка Docker из официального репозитория

$ sudo apt-get update
$ sudo apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
$ curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")    $(lsb_release -cs) stable"
$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
$ sudo groupadd docker
$ sudo usermod -aG docker $USER

Установить kubeadm, kubectl и kubelet из официального репозитория

$ sudo apt-get update && sudo apt-get install -y apt-transport-https curl
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

$ sudo su -c "cat > /etc/apt/sources.list.d/kubernetes.list <<EOF
  deb https://apt.kubernetes.io/ kubernetes-xenial main
  EOF"

$ sudo apt-get update
$ sudo apt-get install -y kubelet kubeadm kubectl
$ sudo apt-mark hold kubelet kubeadm kubectl

Выполнить следующую команду только на вашем главном узле

Инициализировать ваш кластер

$ sudo kubeadm init

Когда инициализация завершится, kubeadm даст вам команду добавить ваших работников в ваш кластер. Сохраните эту команду для дальнейшего использования.

EXAMPLE :

kubeadm join 10.128.0.17:6443 --token 27evky.hoel95h16poqici6 \
  --discovery-token-ca-cert-hash sha256:521f69cb935951bbfee142432108caeaeaf1682d8647208ba2f558624890ab63 

После завершения команды kubeadm init выполните следующие команды, чтобы начать использовать новый кластер

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

Ваш мастер еще не готов, нам нужно создать сеть cni ( Вы можете выбрать различные CNI )

$ kubectl apply -f https://docs.projectcalico.org/v3.8/manifests/calico.yaml

Проверьте, готов ли ваш главный узел. Требуется время, чтобы запустить все зависимости. $ Kubectl get node

EXAMPLE :

user@kubemaster:~$ kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
kubemaster   NotReady   master   32s   v1.16.2

Чтобы проверить более подробную информацию о вашем узле:

$ kubectl describe node <NODENAME>

Когда ваш мастер-узел готов, вы можете продолжить и выполнить команду kubectl join (сохраненную ранее) на ваших рабочих узлах:

$ sudo kubeadm join 10.128.0.17:6443 --token 27evky.hoel95h16poqici6 --discovery-token-ca-cert-hash sha256:521f69cb935951bbfee142432108caeaeaf1682d8647208ba2f558624890ab63

Проверьте, готов ли ваш рабочий узел (команда должна быть выполнена на главном узле))

$ kubectl get nodes

Если вы хотите иметь больше рабочих, просто повторите команду kubectl join для новых рабочих.

0 голосов
/ 23 октября 2019

Вы можете использовать kubeadm, здесь - это документ, который поможет вам установить его.

Каждый сервер должен иметь kubeadm, kubelet и kubectl Установлено.

На master node вы выполните kubeadm init, и как только весь процесс будет завершен, он предоставит вам вывод, который вы можете запустить, чтобы добавить worker nodes. Конечно, эти серверы должны видеть друг друга в вашей сети.

Есть и другие варианты установки Kubernetes. Например, используя kops или kubespray.

0 голосов
/ 23 октября 2019

С https://kubernetes.io/docs/setup/learning-environment/minikube/

Minikube - это инструмент, который позволяет легко запускать Kubernetes локально. Minikube запускает одноузловой кластер Kubernetes внутри виртуальной машины (ВМ) на вашем ноутбуке для пользователей, желающих опробовать Kubernetes или разрабатывать его на повседневной основе

Если вы хотите настроить свойсобственный кластер, включая несколько вариантов, включая kubeadm или kubespray .

Лично я использовал Vagrant и Ansible для настройки локального кластера Kubernetes с использованием kubeadm -есть хороший учебник здесь ... и вот моя реализация :)

0 голосов
/ 23 октября 2019

Один из способов установить kubernetes - через kubeadm .

Я сделал это с моей собственной виртуальной машиной. Но также должно работать на ваших физических машинах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...