Важно настроить виртуальный центр обработки данных (vDC) перед настройкой Kubernetes. Это можно рассматривать как набор машин, где они могут общаться друг с другом через сеть. Для практического подхода вы можете настроить vDC на PROFITBRICKS, если у вас нет настроенной физической или облачной инфраструктуры.
После завершения настройки IaaS в любом облаке необходимо настроить мастер и узел .
Примечание . Настройка показана для компьютеров с Ubuntu. То же самое можно настроить и на других компьютерах с Linux.
Предпосылки
Установка Docker — Docker требуется на всех экземплярах Kubernetes. Ниже приведены инструкции по установке Docker.
Шаг 1 — Войдите в систему с учетной записью пользователя root.
Шаг 2 — Обновите информацию о пакете. Убедитесь, что пакет apt работает.
Шаг 3 — Запустите следующие команды.
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates
Шаг 4 — Добавьте новый ключ GPG.
$ sudo apt-key adv \ --keyserver hkp://ha.pool.sks-keyservers.net:80 \ --recv-keys 58118E89F3A912897C070ADBF76221572C52609D $ echo "deb https://apt.dockerproject.org/repo ubuntu-trusty main" | sudo tee /etc/apt/sources.list.d/docker.list
Шаг 5 — Обновите образ пакета API.
$ sudo apt-get update
После того как все вышеперечисленные задачи будут выполнены, вы можете начать с фактической установки механизма Docker. Однако перед этим вам необходимо убедиться, что версия ядра, которую вы используете, верна.
Установите Docker Engine
Выполните следующие команды для установки механизма Docker.
Шаг 1 — Войдите в систему.
Шаг 2 — Обновите индекс пакета.
$ sudo apt-get update
Шаг 3 — Установите Docker Engine, используя следующую команду.
$ sudo apt-get install docker-engine
Шаг 4 — Запустите демон Docker.
$ sudo apt-get install docker-engine
Шаг 5. Чтобы установить Docker, используйте следующую команду.
$ sudo docker run hello-world
Установите etcd 2.0
Это должно быть установлено на Kubernetes Master Machine. Чтобы установить его, выполните следующие команды.
$ curl -L https://github.com/coreos/etcd/releases/download/v2.0.0/etcd -v2.0.0-linux-amd64.tar.gz -o etcd-v2.0.0-linux-amd64.tar.gz ->1 $ tar xzvf etcd-v2.0.0-linux-amd64.tar.gz ------>2 $ cd etcd-v2.0.0-linux-amd64 ------------>3 $ mkdir /opt/bin ------------->4 $ cp etcd* /opt/bin ----------->5
В приведенном выше наборе команд —
- Сначала мы скачиваем etcd . Сохраните это с указанным именем.
- Затем мы должны распаковать tar-пакет.
- Мы делаем реж. внутри / opt с именем bin.
- Скопируйте извлеченный файл в целевое местоположение.
Теперь мы готовы строить Kubernetes. Нам нужно установить Kubernetes на все машины в кластере.
$ git clone https://github.com/GoogleCloudPlatform/kubernetes.git $ cd kubernetes $ make release
Приведенная выше команда создаст каталог _output в корне папки kubernetes. Далее мы можем извлечь каталог в любой каталог по нашему выбору / opt / bin и т. Д.
Затем следует сетевая часть, в которой нам нужно начать с настройки мастера и узла Kubernetes. Чтобы сделать это, мы сделаем запись в файле хоста, которую можно сделать на компьютере узла.
$ echo "<IP address of master machine> kube-master < IP address of Node Machine>" >> /etc/hosts
Ниже будет вывод вышеуказанной команды.
Теперь мы начнем с фактической конфигурации на Kubernetes Master.
Сначала мы начнем копировать все файлы конфигурации в их правильное расположение.
$ cp <Current dir. location>/kube-apiserver /opt/bin/ $ cp <Current dir. location>/kube-controller-manager /opt/bin/ $ cp <Current dir. location>/kube-kube-scheduler /opt/bin/ $ cp <Current dir. location>/kubecfg /opt/bin/ $ cp <Current dir. location>/kubectl /opt/bin/ $ cp <Current dir. location>/kubernetes /opt/bin/
Приведенная выше команда скопирует все файлы конфигурации в нужное место. Теперь вернемся к тому же каталогу, где мы создали папку Kubernetes.
$ cp kubernetes/cluster/ubuntu/init_conf/kube-apiserver.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-controller-manager.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-kube-scheduler.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-apiserver /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-controller-manager /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-kube-scheduler /etc/init.d/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/
Следующим шагом является обновление скопированного файла конфигурации в / etc. реж.
Сконфигурируйте etcd на master с помощью следующей команды.
$ ETCD_OPTS = "-listen-client-urls = http://kube-master:4001"
Настроить куб-аписервер
Для этого нам нужно отредактировать файл / etc / default / kube-apiserver, который мы скопировали ранее.
$ KUBE_APISERVER_OPTS = "--address = 0.0.0.0 \ --port = 8080 \ --etcd_servers = <The path that is configured in ETCD_OPTS> \ --portal_net = 11.1.1.0/24 \ --allow_privileged = false \ --kubelet_port = < Port you want to configure> \ --v = 0"
Настройте диспетчер контроллеров куба
Нам нужно добавить следующий контент в / etc / default / kube-controller-manager .
$ KUBE_CONTROLLER_MANAGER_OPTS = "--address = 0.0.0.0 \ --master = 127.0.0.1:8080 \ --machines = kube-minion \ -----> #this is the kubernatics node --v = 0
Далее настройте планировщик куба в соответствующем файле.
$ KUBE_SCHEDULER_OPTS = "--address = 0.0.0.0 \ --master = 127.0.0.1:8080 \ --v = 0"
После того, как все вышеперечисленные задачи будут выполнены, мы сможем продолжить, подняв мастера Kubernetes. Для этого мы перезапустим Docker.
$ service docker restart
Конфигурация узла Kubernetes
Узел Kubernetes будет запускать две службы: kubelet и kube-proxy . Прежде чем двигаться дальше, нам нужно скопировать загруженные нами двоичные файлы в нужные им папки, где мы хотим настроить узел kubernetes.
Используйте тот же метод копирования файлов, который мы сделали для kubernetes master. Так как он будет запускать только kubelet и kube-proxy, мы настроим их.
$ cp <Path of the extracted file>/kubelet /opt/bin/ $ cp <Path of the extracted file>/kube-proxy /opt/bin/ $ cp <Path of the extracted file>/kubecfg /opt/bin/ $ cp <Path of the extracted file>/kubectl /opt/bin/ $ cp <Path of the extracted file>/kubernetes /opt/bin/
Теперь мы скопируем содержимое в соответствующий каталог.
$ cp kubernetes/cluster/ubuntu/init_conf/kubelet.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/init_conf/kube-proxy.conf /etc/init/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kubelet /etc/init.d/ $ cp kubernetes/cluster/ubuntu/initd_scripts/kube-proxy /etc/init.d/ $ cp kubernetes/cluster/ubuntu/default_scripts/kubelet /etc/default/ $ cp kubernetes/cluster/ubuntu/default_scripts/kube-proxy /etc/default/
Мы настроим файлы конфигурации kubelet и kube-proxy .
Мы настроим /etc/init/kubelet.conf .
$ KUBELET_OPTS = "--address = 0.0.0.0 \ --port = 10250 \ --hostname_override = kube-minion \ --etcd_servers = http://kube-master:4001 \ --enable_server = true --v = 0" /
Для kube-proxy мы настроим следующую команду.
$ KUBE_PROXY_OPTS = "--etcd_servers = http://kube-master:4001 \ --v = 0" /etc/init/kube-proxy.conf
Наконец, мы перезапустим сервис Docker.
$ service docker restart
Теперь мы закончили с настройкой. Вы можете проверить, выполнив следующие команды.