Добавление баллансировщика сетевой нагрузки

Данная инструкция описывает как настроить баллансировщик для Kubernetes Cluster созданного c помощью расширения Cloud Director Container Service Extension

MetalLB подключается к вашему кластеру Kubernetes и обеспечивает реализацию балансировщика сетевой нагрузки. Проще говоря, он позволяет создавать Kubernetes-сервисы типа «LoadBalancer» в кластерах которые созданы на базе CSE. Для получения дополнительной информации см. здесь

Для добавления в кластер Metallb нам нужно применить манифест

 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml

Вывод будет примерно следующий

Установка MetallB завершена, далее нам нужно создать файл конфигурации и настроить его для нашей сети.

Добавим следующую конфигурацию в кластер

cat <<EOF | kubectl apply -f -
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: first-pool
namespace: metallb-system
spec:
addresses:
- 192.168.2.240-192.168.2.250
EOF

В строке addresses указываем подсеть которая с маршрутизирована на ваш EDGE По умолчанию это сеть 192.168.2.0/24 и указываем диапазон адресов которые будет выдавать Load Balancer

Так же нужно разрешить анонс данных адресов

Для этого нужно применить следующую конфигурацию

 

cat <<EOF | kubectl apply -f -

apiVersion: metallb.io/v1beta1
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: example
namespace: metallb-system

EOF

 

Для того чтобы убедиться что мы правильно настроили наш балласнсер создадим простенький deployment hello world и сделаем для него сервис

kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml

И создадим для него service тип LoadBalancer следующей командой

kubectl expose deployment hello-world --type=LoadBalancer --name=my-service

После чего выполним команду kubectl get services my-service и увидим в столбце External IP адрес из диапазона MetallB который мы описывали в файле config.yaml

Для проверки что сервис успешно работает можем выполнить curl http://external_IP:8080

Но нужно понимать, что данный сервис будет находится за NAT и для него нужно будет сделать DNAT правило вашего внешнего адреса на адрес MetallB (который указан в столбце external-ip) в настройках EDGE

Подробнее в данной инструкции https://client.cloud4y.ru/index.php/knowledgebase/103/--------.html

  • 94 Пользователи нашли это полезным
Помог ли вам данный ответ?

Связанные статьи

Подготовка к использованию, установка клиента

Для того, чтобы мы могли создавать/редактировать/использовать Kubernets в vCloud Director нужно...

Управление нодой NFS и создание PV

Основные преимущества использования NFS в Kubernetes   Использовать существующее хранилище, вы...

Введение в CSE

Описание Container Service Extension (CSE) - это расширение VMware Cloud Director (VCD), которое...

Управление кластером kubernetes

Обзор На этой странице представлены основные команды, которые позволяют пользователям создавать,...

Развёртывание кластера kubernetes c помощью CLI

Для развёртывания и управления kubernetes в vCloud можно воспользоваться инструментом container...