Не совсем, хотя это и не является другой реализацией CNI для общего использования. FabEdge предназначен для решения проблем сетевой связи в вычислении на краю сети. На стороне облачной среды он всё ещё зависит от Flannel или Calico для обеспечения сетевой связи. Однако на стороне края сети работу выполняет FabEdge. Возможно, однажды мы сможем сделать так, чтобы Flannel или Calico работали на стороне края сети.
На данный момент FabEdge может работать только с Flannel и Calico. FabEdge может работать в режиме vxlan у Flannel, а также в режимах vxlan или IPIP у Calico. Кроме того, при работе с Calico нельзя использовать etcd как хранилище данных для Calico.
Это зависит от ваших настроек Kubernetes и используемого CNI:
edge-pod-cidr
. Чтобы изменить размер PodCIDR, вам следует установить параметр edge-cidr-mask-size
: ```shell
curl https://fabedge.github.io/helm-chart/scripts/quickstart.sh | bash -s --
Если вы выберете ручное развертывание FabEdge, вы можете взять за основу следующий пример файла values.yaml
.
cluster:
name: beijing
role: host
region: beijing
zone: beijing
cniType: "calico"
# configuration of IP address range for container nodes and size of the network mask
edgePodCIDR: "10.234.0.0/16"
edgeCIDRMaskSize: 26
connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
agent:
args:
ENABLE_PROXY: "true"
ENABLE_DNS: "true"
При предоставлении примеров конфигураций скрипты или ручная установка не будут запрошены. Кроме того, некоторые параметры можно настроить только в режиме ручной установки, а пример скриптовой установки не предоставляется.
Да, облачные ноды и краевые ноды могут общаться между собой по умолчанию, но эту функцию нельзя отключить.
Да, в настоящее время нет решения для обеспечения высокой доступности для узла-коннектора, мы продолжаем работать над этим.
Нет, FabEdge использует зашифрованный туннель для обеспечения связи между различными доступными сетями. Однако, этот процесс потребляет некоторое количество ресурсов для создания зашифрованных туннелей. Так как не все краевые ноды требуют взаимодействия, FabEdge предлагает использовать Community CRD для управления связью между краевыми нодами, чтобы избежать неоправданного использования ресурсов. Для получения информации о том, как использовать Community, обратитесь к этому разделу.
Да, однако до версии FabEdge v0.8.0 это работало некорректно. С версии v0.8.0 мы внедрили функцию пробивания дырок (hole-punching), которая позволяет краевым нодам создавать зашифрованные туннели через различные сети. Эта функция отключена по умолчанию, её можно включить следующим образом:
curl https://fabedge.github.io/helm-chart/scripts/quickstart.sh | bash -s -- \
--cluster-name пекин \
--cluster-role хост \
--cluster-zone пекин \
--cluster-region пекин \
--connectors пекин \
--edges edge1,edge2,edge3 \
--connector-public-addresses 10.22.45.16 \
--connector-as-mediator true \ # включение функции пробивания дырок
--chart fabedge/fabedge
или:```yaml cluster: name: beijing role: host region: beijing zone: beijing cniType: "flannel"
connectorAsMediator: true connectorPublicAddresses:
clusterCIDR:
agent: args: ENABLE_PROXY: "true" ENABLE_DNS: "true"
## Нужно ли создавать туннели между узлами, расположенными в одной сети, чтобы они могли общаться друг с другом?
По умолчанию да, но если эти узлы используют один и тот же маршрутизатор, попробуйте использовать функцию автоматической сети, которая работает аналогично режиму host-gw плагина Flannel. Каждый узел края использует UDP мультикаст для поиска своих параллелей в рамках одного маршрутизатора и генерирует маршруты для контейнеров края. Включение этой функции осуществляется следующим образом:
```yaml
cluster:
name: beijing
role: host
region: beijing
zone: beijing
cniType: "flannel"
connectorPublicAddresses:
- 10.22.46.33
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
agent:
args:
ENABLE_PROXY: "true"
ENABLE_DNS: "true"
# Enables automatic network configuration
AUTO_NETWORKING: "true"
# Multicast address used by the agent for multicasting; this value also serves as the default and limits the multicast range to the router, usually it does not need to be changed.
MULTICAST_ADDRESS: "239.40.20.81:18080"
# Multicast token, each edge node can communicate with other nodes that have the same token
MULTICAST_TOKEN: "SdY3MTJDHKUkJsHU"
```## Могут ли узлы разных кластеров общаться друг с другом? Я могу использовать SSH для доступа к узлам?
Нет, FabEdge не реализует коммуникацию между узлами, что несколько усложняет ситуацию. С другой стороны, мы не хотим, чтобы меры безопасности между отдельными сетями были нарушены из-за использования FabEdge.
FabEdge не предоставляет возможности SSH.
## Как контейнеры края обращаются к службам?
Это зависит от вашего фреймворка краевой вычислительной системы:
* OpenYurt/SuperEdge. Они будут иметь свои собственные пакеты `coredns` и `kube-proxy`, работающие на узлах края, а FabEdge обеспечивает только сетевую связь.
* KubeEdge. До версии v0.8.0, FabEdge практически ничего не делал для этого, но вы можете самостоятельно развернуть `coredns` и `kube-proxy` на узлах края. С версии v0.8.0, FabEdge интегрировал `coredns` и `kube-proxy` в `fabedge-agent`.
На данный момент интегрированный в `fabedge-agent` `coredns` имеет версию 1.8.0, а `kube-proxy` — 1.22.5. Если вам нужно использовать другие версии `coredns` и `kube-proxy`, вы можете отключить их.
```shell
curl https://fabedge.github.io/helm-chart/scripts/quickstart.sh | bash -s -- \
--cluster-name beijing \
--cluster-role хост \
--cluster-zone beijing \
--cluster-region beijing \
--connectors beijing \
--edges edge1,edge2,edge3 \
--connector-public-addresses 10.22.45.16 \
--enable-proxy false \ # отключить kube-proxy
--enable-dns false \ # отключить coredns
--chart fabedge/fabedge
или
cluster:
name: beijing
role: хост
region: beijing
zone: beijing
cniType: "flannel"
``` connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
agent:
args:
ENABLE_PROXY: "false"
ENABLE_DNS: "false"
## Область моего кластера не является cluster.local, что мне делать?
Если ваш кластер использует KubeEdge, вам потребуется указать домен вашего кластера при установке FabEdge:
```yaml
cluster:
name: beijing
role: хост
region: beijing
zone: beijing
cniType: "flannel"
connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
agent:
args:
ENABLE_PROXY: "true"
ENABLE_DNS: "true"
# Настройте домен кластера
DNS_CLUSTER_DOMAIN: "ваш.домен"
По умолчанию FabEdge использует метку node-role.kubernetes.io/edge для распознавания узлов края, но вы можете использовать любую метку, которую пожелаете, просто предоставьте её при установке FabEdge:
cluster:
name: beijing
role: хост
region: beijing
zone: beijing
cniType: "flannel"
connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
# Настройте метки, используемые для распознавания узлов края. Формат ключ=значение, значение может быть пустым
edgeLabels:
- edge-node=
# Здесь указано включенное значение метки, иногда вы можете захотеть запускать fabedge-agent только на некоторых узлах края,
# вы можете присвоить метку fabedge-enable=true этим узлам.
- fabedge-enable=true
# Вы также можете использовать различные метки для маркировки узлов соединителя
connectorLabels:
- connector-node=
```agent:
args:
ENABLE_PROXY: "false"
ENABLE_DNS: "false"
Не изменяйте эти параметры после установки FabEdge, иначе FabEdge может работать некорректно.## Я не могу использовать порты 500 и 4500 как публичные порты для коннектора, что мне делать?
Не беспокойтесь, начиная с версии FabEdge v0.8.0, вы можете настроить публичный порт коннектора. Это стоит отметить, так как это не меняет порты прослушивания коннектора strongswan, а лишь изменяет порт, который использует strongswan узлов для установки туннелей. Кроме того, нет необходимости отображать публичный сетевой порт для 500. Когда туннель создается с использованием непубличного порта 500, используется только порт 4500, поэтому требуется отобразить только порт 4500 коннектора. Конфигурация следующая:
curl https://fabedge.github.io/helm-chart/scripts/quickstart.sh | bash -s -- \
--cluster-name beijing \
--cluster-role host \
--cluster-zone beijing \
--cluster-region beijing \
--connectors beijing \
--edges edge1,edge2 \
--connector-public-addresses 10.40.20.181 \
--connector-public-port 45000 \
--chart fabedge/fabedge
или
cluster:
name: beijing
role: host
region: beijing
zone: beijing
cniType: "flannel"
# Настройка публичного порта коннектора
connectorPublicPort: 45000
connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
agent:
args:
ENABLE_PROXY: "true"
ENABLE_DNS: "true"
Стоит также отметить, что использование этой функции может повлиять на производительность связи, подробнее см. NAT Traversal.## Почему в односвязном сценарии запущены fabdns и service-hub, можно ли их удалить?
Если вы установите FabEdge с помощью скрипта, они будут установлены автоматически. Если у вас всего один кластер, лучше отключить их.
curl https://fabedge.github.io/helm-chart/scripts/quickstart.sh | bash -s -- \
--cluster-name beijing \
--cluster-role host \
--cluster-zone beijing \
--cluster-region beijing \
--connectors beijing \
--edges edge1,edge2 \
--connector-public-addresses 10.40.20.181 \
--enable-fabdns false \
--chart fabedge/fabedge
или
cluster:
name: beijing
role: host
region: beijing
zone: beijing
cniType: "flannel"
connectorPublicAddresses:
- 10.22.45.16
clusterCIDR:
- 10.233.64.0/18
serviceClusterIPRange:
- 10.233.0.0/18
агент: аргументы: ENABLE_PROXY: "true" ENABLE_DNS: "true"
fabDNS:
создать: false
## Можно ли использовать одинаковые сетевые адреса для каждого кластера в многокластерной сценарии?
Нет, не только сетевые адреса контейнерной сети, но также сетевые адреса хоста должны быть уникальными. Даже если у вас всего один кластер, убедитесь, что сетевые адреса не будут совпадать.
## Я хочу настроить strongswan, как мне это сделать?
Извините, в настоящее время FabEdge не предоставляет способа для этого. Вы можете создать свой образ strongswan и настроить его внутри образа.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )