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

OSCHINA-MIRROR/WeBank-Dockin-CNI

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

Файлы, которые хранятся в confDir, задаются в конфигурации CNI. И будут переданы kubelet для создания сети.

{
  "cniVersion": "0.2.0",
  "name": "dockin",
  "type": "bridge",
  "bridge": "br1"
}
  • cniVersion указывает версию поддержки в этом CNI;
  • name — имя сети, должно совпадать с типом rm;
  • type — поддерживает только bridge для управления сетью;
  • bridge — название моста этой сети, нескольким сетям можно назначить разные имена мостов.

Теперь давайте начнём создавать конфигурацию сети.

— Сначала создайте каталог конфигурации:

Путь можно найти в файле 00-dockin-cni.json.

mkdir -p /etc/cni/dockin/net.d  

— Затем создайте файл конфигурации:

В примере выше необходимо создать два файла конфигурации сети.

  1. Создайте файл конфигурации для типа test:
touch /etc/cni/dockin/net.d/test.json

Содержимое:

{
  "cniVersion": "0.2.0",
  "name": "test", // тип
  "type": "bridge",
  "bridge": "br0"
}
  1. Создайте файл конфигурации для типа dockin:
touch /etc/cni/dockin/net.d/dockin.json

Содержимое:

{
  "cniVersion": "0.2.0",
  "name": "dockin", // тип
  "type": "bridge",
  "bridge": "br0"
}  

3. Поместите исполняемый двоичный файл в binDir

Вы можете использовать make для сборки dockin-cni и dockin-ipam. Затем поместите их в binDir в файле 00-dockin-cni.json. Обычно binDir находится в /opt/cni/bin.

Dockin-ipam: плагин управления статическими IP-адресами

Обзор

Плагин статического IPAM — это очень простой плагин IPAM, который статически назначает IPv4 и IPv6 адреса контейнерам. Это будет полезно в случае назначения одного и того же IP-адреса в разных VLAN/VXLAN контейнерам.

Пример конфигурации

{
    "ipam": {
        "type": "static",
        "addresses": [
            {
                "address": "192.168.0.1/24",
                "gateway": "192.168.0.254"
            },
            {
                "address": "3ffe:ffff:0:01ff::1/64",
                "gateway": "3ffe:ffff:0::1"
            }
        ],
        "routes": [
            { "dst": "0.0.0.0/0" },
            { "dst": "192.168.0.0/16", "gw": "192.168.1.1" },
            { "dst": "3ffe:ffff:0:01ff::1/64" }
        ],
        "dns": {
            "nameservers" : ["8.8.8.8"],
            "domain": "example.com",
            "search": [ "example.com" ]
        }
    }
}

Ссылка на конфигурацию сети

  • type (строка, обязательно): «static»;
  • addresses (массив, необязательно): массив объектов IP-адресов:
    • address (строка, обязательно): IP-адрес в нотации CIDR.
    • gateway (строка, необязательно): IP внутри «подсети», который будет обозначен как шлюз.
  • routes (строка, необязательно): список маршрутов, добавляемых в пространство имён контейнера. Каждый маршрут представляет собой словарь с полями «dst» и опциональным «gw». Если «gw» опущено, будет использоваться значение «gateway».
  • dns (строка, необязательно): словарь с «nameservers», «domain» и «search».

Поддерживаемые аргументы

Поддерживаются следующие CNI_ARGS (https://github.com/containernetworking/cni/blob/master/SPEC.md#parameters):

  • IP: запрос конкретных IP-адресов в нотации CIDR, разделённых запятыми;
  • GATEWAY: запрос конкретного адреса шлюза.
    (Пример: CNI_ARGS="IP=192.168.1.1/24;GATEWAY=192.168.1.254").

Также плагин поддерживает следующие аргументы возможностей (https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md).

  • ips: передача IP-адресов для CNI-интерфейса.

Поддерживается следующее соглашение об аргументах (https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md#args-in-network-config):

  • ips (массив строк): список пользовательских IP-адресов, которые нужно попытаться выделить, с префиксом (например, '192.168.1.1/24').

Обратите внимание: если некоторые из вышеперечисленных используются одновременно, будет работать только один в соответствии со следующим приоритетом:

  1. Аргументы возможностей (https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md);
  2. Соглашение об аргументах (https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md#args-in-network-conf);
  3. CNI_ARGS (https://github.com/containernetworking/cni/blob/master/SPEC.md#parameters).

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

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

1
https://api.gitlife.ru/oschina-mirror/WeBank-Dockin-CNI.git
git@api.gitlife.ru:oschina-mirror/WeBank-Dockin-CNI.git
oschina-mirror
WeBank-Dockin-CNI
WeBank-Dockin-CNI
develop