SkillAgentSearch skills...

K1s

Simple and small k8s cluster on Ubuntu 18.04

Install / Use

/learn @maniaque/K1s
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

English version is also available.

Что это?

Набор скриптов для того, чтобы быстро поднять простенький кластер Kubernetes. Cеть может быть Flannel или Calico, на выбор.

Окружение:

  • виртуальная машина (VirtualBox, но сойдет любой способ)
  • Ubuntu 20.04

Подразумевается, что у каждой виртуальной машины есть два сетевых интерфейса:

  • NAT (для доступа в Internet)
  • Host-only (для общения с другими машинами и нашей хостовой машиной)

Можно использовать и один интерфейс, если машины могут видеть на нем друг друга и иметь доступ в интернет (NAT Network в Virtual Box).

Использование Vagrant

Кластер можно запустить на Linux как указано ниже, либо воспользоваться Vagrant для запуска.

  • vagrant/single - однонодовый кластер kubernetes в Vagrant
  • vagrant/twin - двухнодовый кластер kubernetes в Vagrant (master + worker)

Создание кластера

  1. Устанавливаем необходимые пакеты и закрепляем их версии

sudo ./install

  1. Создаем кластер. В качестве аргумента нужно передать имя интерфейса (обычно это Host-only):
  • на нем будет слушать Kubernetes API server
  • он будет использоваться для общения между нодами

Чтобы посмотреть работающие интерфейсы, просто запускаем без параметров

sudo ./init

Чтобы инициализировать кластер, запускаем с параметром:

sudo ./init enp0s8

На этой стадии конфигурационный файл для kubectl будет скопирован в ~/.kube/config, поэтому если в этом файле есть что-то важное, сохраните его.

  1. Предыдущая стадия подготовит манифесты сетевых плагинов, нужно просто выбрать, какой из них установить.

Для Flannel

kubectl apply -f network/flannel.yml

Для Calico

kubectl apply -f network/calico.yml

Присоединение ноды

  1. Устанавливаем необходимые пакеты и закрепляем их версии

sudo ./install

  1. Чтобы присоединить ноду к кластеру нужно вызвать скрипт ./join и передать ему два параметра:
  • имя интерфейса для общения между нодами
  • endpoint, на котором слушает Kubernetes API server

Чтобы посмотреть работающие интерфейсы, просто запускаем без параметров

sudo ./join

Чтобы присоединиться, запускаем с параметрами:

sudo ./join enp0s8 192.168.56.110:6443

View on GitHub
GitHub Stars40
CategoryDevelopment
Updated1y ago
Forks21

Languages

Shell

Security Score

60/100

Audited on Sep 4, 2024

No findings