Одна статья для понимания маршрутизации и пересылки данных в различных сценариях (2) – Cloud Vendors
Одна статья для понимания маршрутизации и пересылки данных в различных сценариях (2) – Cloud Vendors

Некоторое время назад автор написал «Одну статью для понимания маршрутизации и пересылки данных в различных сценариях», которая понравилась многим читателям. Однако в то же время некоторые читатели также оставили сообщения с вопросом, могут ли они написать практическую статью по этому вопросу. Настройка облачных поставщиков. Кстати, в предыдущей статье в основном практиковались на самых базовых принципах, потому что LB у многих производителей. Все сервисы основаны на Nginx, поэтому конкретного содержания по настройке использования нет. Однако недавно автор обнаружил, что использовать сервис LB поставщиков облачных услуг не так уж и «просто». На самом деле здесь еще много подводных камней. В этой статье для вашего удобства собрано несколько статей об услугах этих поставщиков облачных услуг.

1. Во-первых, поймите основные принципы услуг маршрутизации и пересылки, предоставляемых поставщиками облачных услуг.

(1) Знакомство со службой CLB (Cloud Load Balancer)

В настоящее время Tencent Cloud、Alibaba Cloud и другие крупные поставщики облачных услуг по сутипроходитьпоставлятьCLB-сервисВыполнение маршрутизации и пересылки,Что такое КЛБ?

Через официальную документацию поставщика облачных услуг.определение:

Балансировка нагрузки (Облако Load Balancer,CLB)Это служба, которая распределяет трафик на несколько внутренних серверов.。балансировка нагрузка может расширить возможности внешнего обслуживания системы приложений за счет распределения трафика и устранить отдельные точки отказа для повышения доступности системы приложений.

Служба балансировки нагрузки виртуализирует ресурсы нескольких внутренних серверов, расположенных в одном регионе, в высокопроизводительный пул служб приложений с высокой доступностью, устанавливая адрес виртуальной службы (VIP). Распределяйте сетевые запросы от клиентов на пул серверов способом, заданным приложением.

Группа балансировки нагрузки, предоставляющая услуги, обычно состоит из следующих частей:

балансировка нагрузки Пример:один CLB Экземпляр — это работающая служба балансировки нагрузки, используемая для распределения трафика.

Слушатель:Используется для проверки клиентских запросов и пересылки запросов на внутренний сервер.。

Бэкэнд-сервер:задняя частьизгруппа Служитьустройство Пример,Используется для получения запросов от внешнего интерфейса.

Запросы доступа из-за пределов балансировки нагрузки распределяются на внутренние серверы для обработки через экземпляр балансировки нагрузки и в соответствии с соответствующими политиками и правилами пересылки.

ссылка:https://cloud.tencent.com/document/product/214/524

(2) Введение в четырехуровневые и семиуровневые услуги.

CLB обычно предоставляет две услуги пересылки.Прямо сейчасчетвертый этажиседьмой этажэкспедиторская служба

Сценарии их применения совершенно разные, а именно:

ссылка:https://help.aliyun.com/zh/slb/classic-load-balancer/user-guide/listener-overview

В то же время между ними существуют некоторые различия в технических принципах:

Например, в случае переадресации по четвёртому этажу,экспедиторская службабольше похоже надаодинмаршрутизатор,Измените только адрес назначения сообщенияи т. д.,Не получить содержимое сообщения,Дальше вперед по алгоритму,Фактически, это все еще исходное TCP-соединение.,Одновременная пересылка в основном ИсправлятьЦелевой IP→Порт

И вседьмой этажэкспедиторская службасередина:экспедиторская службабольше похоже надаодинпрокси-сервер,потому чтоседьмой этажэкспедиторская службаможет быть основано наURL-адрес, имя домена, тип браузераПодождите переадресации,такНеобходимо получить содержимое сообщения,такможет толькоВосстановите новое TCP-соединение.

(3) Сравнение четырехуровневых и семиуровневых услуг.

Здесь вы можете увидеть разницу между ними:

1.потому чтоседьмой служба переадресации этажа требует установления двух TCP-соединений, а четвертый этажэкспедиторская служба Необходимо создать только один разTCPсоединять,так Маршрутизация данныхспособность(Репост может работать тяжело)На тех же ресурсахчетвертый этажэкспедиторская служба Лучшая производительность

2.потому чтоседьмой Служба переадресации этажей может предоставить URL-адрес, имя домена, тип браузераспособность,такседьмой этажэкспедиторская служба Работает лучше

3. Потому что седьмой этаж мощный,Большой расход,Поэтому требования к аппаратному обеспечению выше.,это также означаетдороже

ссылка:https://cloud.tencent.com/document/product/214/530

2. Как служба Tencent Cloud выполняет маршрутизацию и пересылку?

(1) Служба CLB Tencent Cloud

Во-первых, давайте посмотрим на внедрение сервиса Tencent Cloud CLB:

балансировка нагрузки CLB поставлятьчетвертый этаж(TCP Протокол/UDP Протокол/TCP SSL протокол)иседьмой этаж(HTTP Протокол/HTTPS протокол)балансировка нагрузки Служить。ты можешьпроходитьбалансировка нагрузки CLB Распределяйте бизнес-трафик на несколько внутренних серверов, чтобы исключить отдельные точки сбоя и обеспечить доступность бизнеса. балансировка нагрузки CLB Он использует кластерное развертывание для достижения синхронизации сеансов, устранения отдельных точек сервера, повышения избыточности системы и обеспечения стабильности обслуживания. В одном регионе можно развернуть несколько компьютерных залов для обеспечения аварийного восстановления в пределах города.

Видно, что служба CLB Tencent Cloud в основном предоставляет четырехуровневые и семиуровневые протоколы, поэтому давайте возьмем получение IP-адреса клиента в качестве примера, чтобы увидеть ситуацию с маршрутизацией и пересылкой данных.

(2) Как получить IP-адрес клиента для службы CLB Tencent Cloud

Службы уровня 4 (TCP/UDP/TCP SSL) и уровня 7 (HTTP/HTTPS) CLB поддерживают получение реального IP-адреса клиента непосредственно на серверной CVM без дополнительной настройки.

в

четвертый этажбалансировка нагрузка (TGW), в бэкэнде CVM источник получен из IP то есть клиент IP。 седьмой этажбалансировка нагрузки(STGW),существовать CLB При использовании короткого соединения с серверной службой на серверной CVM источник получен из IP то есть клиент ИП; CLB При использовании длительного соединения с серверной службой CLB Нет более прозрачного источника ИП, можешь пройти X-Forwarded-For или remote_addr поле для прямого получения клиента IP。седьмой этажбалансировка Пожалуйста, посмотрите журнал доступа к нагрузкам Настройте журналы доступа для CLS。

Видно, что два метода получения IP-адреса клиента немного отличаются. В частности, в качестве примера мы возьмем сервис Nginx для приема данных, передаваемых из CLB:

ссылка:https://cloud.tencent.com/document/product/214/3728 Nginx План конфигурации

1. Когда Nginx используется в качестве сервера, используйте http_realip_module для получения реального IP-адреса клиента. Вы можете использовать команду nginx -V, чтобы проверить, установлен ли модуль http_realip_module. Если в Nginx не установлен этот модуль, вам необходимо перекомпилировать Nginx и добавить --with-http_realip_module.

Язык кода:bash
копировать
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
wget http://nginx.org/download/nginx-1.17.0.tar.gz
tar zxvf nginx-1.17.0.tar.gz
cd nginx-1.17.0
./configure --prefix=/path/server/nginx --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_realip_module
make
make install
  1. Измените файл nginx.conf.
Язык кода:bash
копировать
vi /etc/nginx/nginx.conf

Измените поля конфигурации и информацию в следующих разделах:

иллюстрировать в xx.xx.xx.xx Необходимо изменить прокси-сервер верхнего уровня. IP или ВОЗ IP часть.

Язык кода:config
копировать
fastcgi connect_timeout 300;
fastcgi send_timeout 300;
fastcgi read_timeout 300;
fastcgi buffer_size 64k;
fastcgi buffers 4 64k;
fastcgi busy_buffers_size 128k;
fastcgi temp_file_write_size 128k;
# Исправлять поля конфигурации и информацию следующих частей
# Если IP-адрес возврата к источнику прокси-сервера относительно разбросан и вы не знаете IP-адрес возврата к источнику прокси-сервера, вы можете записать его как 0.0.0.0/0, что означает, что все запросы поступают с IP-адреса источника XFFсерединаполучить
set_real_ip_from xx.xx.xx.xx;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
  1. Перезапустите Нгинкс.
Язык кода:bash
копировать
service nginx restart
  1. Просматривая журналы доступа Nginx, вы можете узнать реальный IP-адрес клиента.
Язык кода:bash
копировать
cat /path/server/nginx/logs/access.log

(3) Как получить IP-адрес клиента для сервиса TKE Tencent Cloud

Облачный контейнерный сервис Tencent (Tencent Kubernetes Engine , ТКЕ), именуемые в дальнейшем Под TKE можно понимать Tencent Cloud версии K8S. Из официальной документации TKE, в TKE середина,внешний по умолчаниюбалансировка устройство нагрузки Балансировка Tencent Cloud нагрузки В качестве первой точки доступа для служебного трафика существует четыре способа получения IP-адреса клиента.

1. Зарезервируйте исходный IP-адрес клиента с помощью параметров конфигурации ресурса службы.

Прямо сейчас Service Поля конфигурации в ресурсах Service.spec.externalTrafficPolicy. В этом поле указывается, хочет ли служба направлять внешний трафик на узел локально или на уровне всего кластера. Стручки. Существует два значения параметра: Кластер (по умолчанию) и Local Способ

Cluster:Указывает на скрытый источник клиента IP,LoadBalancer и NodePort Трафик службы типа может быть перенаправлен на другие узлы Pods。

Local:Указывает на сохранение источника клиента IP и избегать LoadBalancer и NodePort Тип служебного трафика, пересылаемого на другие узлы Pods

Поэтому вам нужно только изменить файл yaml службы на Local.

Язык кода:yaml
копировать
apiVersion: v1
kind: Service
metadata:
  name: example-Service
spec:
  selector:
    app: example-Service
  ports:
  - port: 8765
    targetPort: 9376
  externalTrafficPolicy: Local
  type: LoadBalancer

Преимущества и недостатки этого вида Способностей заключаются в следующем:

  • Преимущества: просто измените конфигурацию ресурсов службы Kubernetes.
  • Недостатки: Существует потенциальный риск дисбаланса нагрузки трафика модулей (конечных точек).

2. Получено через собственный режим пересылки модуля TKE CLB.

использовать TKE Встроенная поддержка CLB прямой Pod Функция пересылки (CLB Прозрачная переадресация и обход Kubernetes Service переадресация трафика), бэкэнд Pods Источник полученного запроса IP то есть клиент Истинный источник IP

У многих здесь друзей могут возникнуть вопросы, можно ли еще сделать так?

Давайте рассмотрим типы обслуживания K8S. Их три типа:

ClustrerIP,NodePort,LoadBalancerтри вида

вNodePortТип является доступным извне типом.,ClustrerIPТип является доступным типом внутри кластера.

иLoadBalancerТипы в основном подходят только для поддержки внешнихбалансировка облачный провайдер нагрузки

Тогда этот тип доступен в Tencent Cloud:

Родной LoadBalancer модель Service балансировка может быть создана автоматически нагрузки CLB и через кластер Nodeport Вперед в кластер, а затем передать iptable или ipvs Выполните вторую переадресацию.

фактически,Выше представлены наиболее избранные модели.,Разработчикам не нужно знать подробности здесь

Однако в следующих сценариях более рекомендуется напрямую подключаться к службе модели Pod:

  • Есть источник приобретения IP При необходимости (модель непрямого подключения должна быть включена отдельно) Local Вперед)
  • Когда требуется более высокая производительность пересылки(Косвенное соединениемодель Вниз CLB и Service Сам по себе состоит из двух слоев CLB, есть определенная потеря производительности
  • нуждатьсяиспользовать Полная проверка здоровьяи Сохранение сеансато Pod На том же уровне (не связано напрямую с моделью CLB и Service Сам по себе состоит из двух слоев CLB, функции проверки работоспособности и сохранения сеанса сложно настроить)

Сцена здесь подходит как раз для,Однако этот вид использования имеет некоторые ограничения.,Конкретно:

Конкретное размещениессылкапозжеизсоединять:https://cloud.tencent.com/document/product/457/41897

Преимущества и недостатки этого вида Способностей заключаются в следующем.

  • Преимущества: для TKE Встроенная поддержки функциональных возможностей, достаточно обратиться к соответствующему документу конфигурации в консоли.
  • Недостатки: Будут некоторые ограничения. Подробную информацию можно найти по ссылке на документ ниже.

3. Получить через HTTP-заголовок

В сценарии семиуровневой переадресации службы (HTTP/HTTPS) вы можете получить HTTP Header середина X-Forwarded-For и X-Real-IP Значение поля для получения реального источника клиента IP。TKE В серединаиспользовать есть два сценария. Способ,Принципиальная картина введения следующая Внизпоказано:

можно увидеть,Здесь и CLB Способность получения практически одинакова.,Это также было передано из CLB.

Анализ преимуществ и недостатков Способа выглядит следующим образом:

  • Преимущества: В седьмой В сценарии переадресации трафика этажа (HTTP/HTTPS) рекомендуется выбрать эту Способность, которую можно использовать. Web Настройка прокси-сервера службы или кода серверного приложения напрямую HTTP Header поле середина, вы можете получить реальный исходник клиента IP, очень просто и эффективно.
  • Минусы: работает только с седьмой сценарий переадресации трафика этажа (HTTP/HTTPS), не применим к четвертому этаж Передовая сцена.

4. Получите реальный исходный IP-адрес через загрузку модуля ядра TOA.

Получите реальный исходный IP-адрес через загрузку модуля ядра TOA.

Анализ преимуществ и недостатков Способа выглядит следующим образом:

Преимущества: для TCP Транспортные возможности, на уровне ядра и только для TCP Первый пакет соединения преобразуется практически без потери производительности.

Недостатки: Необходимо загружать на рабочий узел кластера. TOA Модуль ядра, и перенесенный источник необходимо получить посредством вызова функции на стороне сервера. IP и информацию о порте, конфигурация более сложная.

для UDP Способность передачи, каждый пакет данных будет изменен и добавлен. option данные (источник IP и исходный порт), что приводит к потере производительности канала передачи данных в сети.

TOA Принцип модуля ядра и возможность загрузки см. https://cloud.tencent.com/document/product/608/73564

общийссылка:https://cloud.tencent.com/document/product/457/48949

3. Как облачные сервисы Alibaba выполняют маршрутизацию и пересылку

(1) Сервис CLB Alibaba Cloud

Во-первых, давайте посмотрим на внедрение сервиса Alibaba Cloud CLB:

CLB обеспечивает Установить адрес виртуальной службы,Виртуализируйте несколько добавленных облачных серверов в одном регионе в высокопроизводительный и доступный пул серверных служб.,и согласно правилам пересылки,придет от клиентаиз请求分发给задняя часть Служитьустройство池серединаизоблако Служитьустройство。 CLB по умолчанию проверяет состояние работоспособности облачных серверов в пуле облачных серверов, автоматически изолирует облачные серверы в нештатном состоянии, устраняет отдельные точки отказа одного облачного сервера и улучшает общие возможности обслуживания приложения. Кроме того, CLB также обладает способностью противостоять DDoS-атакам, повышая возможности защиты сервисов приложений. В этой статье представлена ​​традиционная модель балансировки Alibaba Cloud. нагрузка Функции, предоставляемые CLB, и обзор функций, CLB поддерживает 4 уровня и 7 уровней балансировки. нагрузки,И предоставлять такие функции, как проверка работоспособности, обслуживание сеансов, переадресация доменных имен и т. д.,Обеспечьте высокую доступность серверных служб.

можно увидеть,CLB-сервис Alibaba Cloud также в основном обеспечивает протокол четвертого этажа иседьмой протокол протокола.,Итак, давайте возьмем в качестве примера получение IP-адреса клиента.,Взгляните на ситуацию с маршрутизацией и пересылкой данных.

(2) Как служба CLB Alibaba Cloud получает IP-адрес клиента?

1. CLB уровня 4 получает реальный IP-адрес клиента.

Балансировка традиционного типа нагрузкиCLBчетвертый этаж мониторинга поддерживает получение реального IP-адреса клиента внутреннего сервера. Обычно внутренний сервер может определить реальный IP-адрес клиента без каких-либо действий. Но когда клиент использует адрес IPv6 для доступа к службе IPv4, прокси-сервер необходимо включить одновременно на прослушивающем и внутреннем сервере CLB. Протокол, внутренний сервер может получить реальный IP-адрес клиента.

можно увидеть,Alibaba Cloud середина за четвертое место этаж получает реальный IP-адрес, есть два решения: одно — напрямую, другое — через прокси Protocol,Конкретная реализация,Официальная документация содержит более подробную информацию.,Вот лишь часть основного содержания:

прямойполучатьосновной Способ:

Через прокси Protocolполучатьосновной Способ:

2. CLB уровня 7 получает реальный IP-адрес клиента.

седьмой этажбалансировка нагрузки (протокол HTTP или HTTPS) поддерживает сохранение информации о реальном IP-адресе клиента в поле X-Forwarded-For заголовка HTTP. После соответствующей настройки сервер может получить реальный IP-адрес клиента.

можно увидеть,Alibaba Cloud середина реальный IP-адрес получающего клиента за седьмой этаж,основнойдапроходитьX-Forwarded-Forполучать,По сравнению с полем получения Tencent Cloud в сценарии короткой ссылки на один Remote_addr меньше.,Однако из-за восстановления самого TCP,Так что защитить только одно поле — не большая проблема.

Формат поля X-Forwarded-For следующий:

ссылка:https://help.aliyun.com/zh/slb/classic-load-balancer/use-cases/enable-proxy-protocol-for-a-layer-4-listener-to-retrieve-client-ip-addresses?spm=a2c4g.11186623.0.0.6c1564e5e1bQin#53b59e7de61f9

4. Практические сценарии облачных вендоров

(1) Аномалии в получении IP-адреса клиента на основе TKE с помощью нескольких методов CLB Tencent Cloud.

Объяснение рейтинга:

TKE:Облачный контейнерный сервис Tencent (Tencent Kubernetes Engine , TKE), под которым можно понимать версию Tencent Cloud K8S. STGW: Семиуровневая служба пересылки Tencent Cloud (безопасная Tencent Gateway,STGW) TGW:Облако Tencentчетвертый услуги пересылки этажей (Tencent Gateway,TGW)

Мы предполагаем, что проект развернут на сервисе TKE Tencent Cloud.,Проект, основанный на соображениях стоимости,Приобретены услуги STGW и TGW одновременно.

С тех пор,В тихий день в годах,Инженер по исследованиям и разработкам Сяо А взял на себя потребность в получении реального IP-адреса клиента.,Это строгое мышление Сяо А.,открытTKEДокументация:https://cloud.tencent.com/document/product/457/48949

Я обнаружил, что есть готовые ответы:

  • 1. Зарезервируйте исходный IP-адрес клиента с помощью параметров конфигурации ресурса службы.
  • 2. Получено через собственный режим пересылки модуля TKE CLB.
  • 3. Получить через HTTP-заголовок
  • 4. Получите реальный исходный IP-адрес через загрузку модуля ядра TOA.

В качестве инженера по исследованиям и разработкам,Маленькая А думает 1,2、4все вовлеченыуровень развертываниятрансформация,Сейчас проект стабилен,старайся изо всех силсуществоватьбизнес-уровеньполучать,Поэтому я выбрал вариант 3

принимая во вниманиеX-Forwarded-Forжитьсуществоватьподделкаизвозможность,Сразуиспользовать ПонятноX-Real-IPвыполнятьполучать

Все идеально, отправляйте и выходите в интернет!

Потом нашел:

После определенного периода времени в сети клиенты сообщали, что некоторые из полученных клиентских IP-адресов были IP-адресами служб интрасети! ! !

Инженер по исследованиям и разработкам Сяо А глубоко задумался и обнаружил, что этот вопрос необходимо тщательно изучить.

После согласования с инженерами по эксплуатации,Обнаружить Служитьиспользовать Понятно Два видаизCLB——STGWиTGW

Инженер по исследованиям и разработкам Сяо А также уточнил маршрут передачи данных:

CLB--TKE(ingress)--Service--Pod

Итак, я начал проверять. Сначала я взглянул на конфигурацию входа TKE:

Здесь X-Real-IP получается через Remote_addr

В это время инженер по исследованиям и разработкам Сяо А проверил документацию CLB и обнаружил, что

Четырехуровневый сбалансированный сервис Tencent Cloud на внутренней стороне CVM источник получен из IP то есть клиент IP (фактически получение Nginx можно получить через $remote_addr) Семиуровневая служба пересылки Tencent Cloud (STGW) в CLB При использовании короткого соединения с серверной службой на серверной CVM источник получен из IP то есть клиент ИП; CLB При использовании длительного соединения с серверной службой CLB Нет более прозрачного источника ИП, могу пройти X-Forwarded-For или remote_addr поле для прямого получения клиента IP

Похоже, что CLB действительно присвоит значение Remote_addr, поэтому распечатайте журнал и посмотрите:

$remote_addrизценитьсуществоватьSTGWиTGWДва видаCLB-сервис Внизрезультатдадругойиз

Услуги в TGWсередина,это нормально,Услуги в STGWсередина,Стал IP-адресом интрасети

Также в журнале середина,также нашел,Результат X-Forwarded-Forэто нормально

Есть ли ОШИБКА?

Инженер по исследованиям и разработкам Сяо А нашел службу поддержки клиентов CLB и обнаружил, что есть еще одна точка знаний:

underlay VS Overlay

UnderlayСеть — это именно то, на что это похоже,даOverlayБазовая физическая основа сети,существоватьUnderlayсетьсередина,Взаимосвязанными устройствами могут быть различные типы коммутаторов, маршрутизаторов, оборудования балансировки нагрузки, межсетевых экранов и т.п.,носетьиз Каждое устройство должнопроходитьмаршрутизацияпротоколчтобы гарантировать, что междуIPвозможность подключения。для Понятноизбавляться отUnderlayсетьизразличные ограничения,сейчассуществовать多采использоватьсетьтехнология виртуализациисуществоватьUnderlayсеть Создать виртуальныйизOverlayсеть。

Большинство Облако TencentСлужить ВседаразвертыватьсуществоватьOverlayсетьиз,И маленькийAОтветственныйизпроектдаиспользоватьсуществоватьUnderlayсетьиз,Таким образом, $remote_addr терял данные при большом количестве уровней обмена данными.,иX-Forwarded-ForНакапливатьIP,такX-Forwarded-Forда Можетиз!

Заменить наполучатьX-Forwarded-For,При этом, учитывая возможность вмешательства со стороны клиента,Он не принимает первое значение напрямую,Вместо этого возьмите первый внешний IP-адрес сзади вперед.

Все идеально, отправляйте и выходите в интернет!

Проблема решена!

(2) Служба перенаправления услуг Tencent Cloud на основе Nginx собственной разработки в различных режимах CLB ненормально получает IP-адрес клиента.

Предположим, проект развернут на сервисе собственной разработки Tencent Cloud.,Проект, основанный на соображениях стоимости,Приобретены услуги STGW и TGW одновременно.,В то же время мы использовали Nginx собственной разработки для получения данных CLB для вторичной пересылки.

С тех пор,В тихий день в годах,Инженер по исследованиям и разработкам Сяо А (справа),Опять он) берет на себя требование получить реальный IP клиента,Это основано на опыте Сяо А в предыдущем проекте.,на этот разпрямойбратьX-Forwarded-For

Все идеально, отправляйте и выходите в интернет!

Потом нашел:

После определенного периода времени в сети клиенты сообщали, что некоторые из полученных клиентских IP-адресов были IP-адресами служб интрасети! !

На этот раз инженер по исследованиям и разработкам Сяо А не стал теряться в мыслях и сразу пошел на согласование с инженером по эксплуатации и техническому обслуживанию.

Обнаружить Служить果然использовать Понятно Два видаизCLB——STGWиTGW

Инженер по исследованиям и разработкам Сяо А также уточнил маршрут передачи данных:

CLB--ServiceA--NGINX--ServiceB--Pod

Затем распечатайте журнал NGINX.,Обнаружить:X-Forwarded-ForизинформациясуществоватьSTGWиTGWвести себя по-другому

Услуги в TGWсередина,Это внутренний IP,Услуги в STGWсередина,это нормальноиз

Инженер по исследованиям и разработкам Сяо А сказал: «Совершенно противоположно последней проблеме!» ! !

«Это первая проблема ServiceA», — внезапно подумал инженер по исследованиям и разработкам Сяо А?

Служба — это абстрактное понятие, которое на самом деле является правилом пересылки. Конкретная пересылка фактически отслеживается и пересылается kubeproxy.

Откройте конфигурацию и найдите:

Для параметра externalTrafficPolicy установлено значение Cluster.

Из данных

При пересылке Kube-прокси выполняет SNAT (преобразование адреса исходной сети), поэтому исходный IP-адрес становится IP-адресом узла.

Использование loacl позволяет полностью сохранить IP-адрес клиента. Конечно, цена в этот раз заключается в том, что ServiceA можно будет перенаправить только на тот узел, где он расположен.

Тогда вам нужно иметь Nginx на каждом узле.

После согласования с инженером по эксплуатации и техническому обслуживанию инженер по исследованиям и разработкам Сяо А обнаружил, что Nginx представляет собой набор демонов со стандартными символами.

Затем измените externalTrafficPolicy на локальный.

Все идеально, отправляйте и выходите в интернет!

решение проблем

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose