1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/kubesphere-openelb

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
deploy_baremetal.md 7.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 15:10 f2d1f5c

Физическое развёртывание

Английский | 中文

Предварительные условия установки

  1. Маршрутизатор, к которому подключён физический компьютер, должен поддерживать протокол BGP.
  2. Если необходимо реализовать балансировку нагрузки на маршрутизаторе, маршрутизатор должен поддерживать ECMP и включать следующие функции:
    • Поддержка приёма нескольких эквивалентных маршрутов.
    • Поддержка получения нескольких эквивалентных маршрутов от одного и того же соседа.
  3. Если в сетевой архитектуре есть маршрутизатор, который не поддерживает BGP (или BGP запрещено включать), то на этом маршрутизаторе вручную нужно прописать маршрут nexthop для EIP (или использовать другой протокол обнаружения маршрута).

Установка Porter

  1. Установите Kubernetes на компьютере.
  2. Получите YAML:
wget https://github.com/kubesphere/porter/releases/download/v0.1.1/porter.yaml
  1. Измените YAML-файл configmap с именем bgp-cfg и внесите простые изменения в некоторые поля в соответствии с BGP Configuration Tutorial. Обратите внимание на адрес маршрутизатора и домен AS.
  2. Установите porter в кластер:
kubectl apply -f porter.yaml

Конфигурация маршрутизатора

Конфигурации разных маршрутизаторов различаются, здесь приведён только пример конфигурации коммутатора Cisco Nexus 9000 Series. Для получения дополнительной информации обратитесь к Конфигурации маршрутизатора.

Cisco Nexus 9000 Series (https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/92x/unicast/configuration/guide/b-cisco-nexus-9000-series-nx-os-unicast-routing-configuration-guide-92x/b-cisco-nexus-9000-series-nx-os-unicast-routing-configuration-guide-92x_chapter_01010.html)

  1. Войдите в N9K с учётными данными администратора. Настройте следующую конфигурацию в зависимости от конкретной ситуации (обратите внимание, что комментарии в реальной конфигурации запрещены):

     feature bgp   ## Включить функцию BGP
    
     router bgp 65001 # Установить домен AS этого маршрутизатора
     router-id 10.10.12.1 # Установить IP-адрес этого маршрутизатора
     address-family ipv4 unicast 
         maximum-paths 8 # Включить ECMP и принимать до 8 эквивалентных маршрутов
         additional-paths send # Возможность отправлять несколько эквивалентных маршрутов
         additional-path receive # Возможность принимать несколько эквивалентных маршрутов от соседей
     neighbor 10.10.12.5 # IP-адрес соседа
         remote-as 65000 # Домен AS соседа, он должен отличаться от домена AS этого маршрутизатора
         timers 10 30
         address-family ipv4 unicast
         route-map allow in # Разрешить импортировать маршруты в систему
         route-map allow out # Разрешить экспортировать маршруты из системы
         soft-reconfiguration inbound always # Автоматически обновлять состояние соседа
         capability additional-paths receive # Разрешить принимать несколько эквивалентных маршрутов от этого соседа
  2. После настройки проверьте состояние соседа с помощью команды show bgp ipv4 unicast neighbors. Состояние должно быть Established.

    myswitvh(config)# show bgp ipv4 unicast neighbors
    
        BGP neighbor is 10.10.12.5, remote AS 65000, ebgp link, Peer index 3
        BGP version 4, remote router ID 10.10.12.5
        BGP state = Established, up for 00:00:02
        Peer is directly attached, interface Ethernet1/1
        Last read 00:00:01, hold time = 30, keepalive interval is 10 seconds
        Last written 0.996717, keepalive timer expiry due 00:00:09
        Received 5 messages, 0 notifications, 0 bytes in queue
        Sent 13 messages, 0 notifications, 0(0) bytes in queue
        Connections established 1, dropped 0
        Last reset by us 00:01:29, due to session closed
        Last reset by peer never, due to No error
    
        Neighbor capabilities:
        Dynamic capability: advertised (mp, refresh, gr)
        Dynamic capability (old): advertised
        Route refresh capability (new): advertised received
        Route refresh capability (old): advertised
        4-Byte AS capability: advertised received
        Address family IPv4 Unicast: advertised received
        Graceful Restart capability: advertised

Пример развёртывания

  1. Добавьте пул EIP:

    kubectl apply -f - <<EOF
    apiVersion: network.kubesphere.io/v1alpha1
    kind: Eip
    metadata:
        name: eip-sample-pool
    spec:
        address: 10.11.11.0/24
        disable: false
    EOF

    Пример: EIP

    Примечание: В настоящее время существует три типа адресов EIP:

    • IP-адрес
      192.168.0.1
    • IP-сеть (CIDR)
      192.168.0.0/24
    • Диапазон IP-адресов
      192.168.0.1-192.168.0.10
  2. Разверните тестовый сервис. Сервис должен иметь следующую аннотацию, а тип должен быть LoadBalancer:

    kind: Service
    apiVersion: v1
    metadata:
        name:  mylbapp
        annotations:
            lb.kubesphere.io/v1alpha1: porter
            #eip.porter.kubesphere.io/v1alpha1: 1.1.1.1 Если вам нужно вручную указать eip, вы можете добавить эту аннотацию
    spec:
        selector:
            app:  mylbapp
        type:  LoadBalancer 
        ports:
        - name:  http
        port:  8088
        targetPort:  80

    Пример: Service

    Примечание. Если вы хотите указать IP-адрес для сервиса, есть два способа:

    • Используйте spec.loadBalancerIP: <ip> (рекомендуется)
    • Добавьте аннотацию eip.porter.kubesphere.io/v1alpha1: <ip>
  3. Проверьте маршрутизатор на наличие соответствующего маршрута. Если он есть, любой хост, подключённый к этому маршрутизатору, должен иметь возможность доступа через EIP+ServicePort.

    # show bgp all

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/kubesphere-openelb.git
git@api.gitlife.ru:oschina-mirror/kubesphere-openelb.git
oschina-mirror
kubesphere-openelb
kubesphere-openelb
master