Обмен технологиями

Типы и использование Сервисов, представленных в k8s

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Описание
В Kubernetes существует несколько различных способов предоставления сервисам внешнего трафика. Эти режимы определяются путем определения поля spec.type службы.
2. Подробное объяснение
1. Кластерный IP
Определение: тип по умолчанию, доступ к сервису возможен только внутри кластера.
Функция: предоставление услуг через внутренний IP-адрес кластера.
Пример:

spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: 8080
  • 1
  • 2
  • 3
  • 4
  • 5

2.УзелПорт
Определение: откройте верхний порт (обычно 30000–32767) на каждом узле, чтобы разрешить внешнему трафику доступ к службе.
Функция: доступ к услуге через IP-адрес и nodePort любого узла.
Пример:

spec:
  type: NodePort
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30007
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

3. Балансировщик нагрузки

Определение. Балансировщик нагрузки, предоставляемый облачной платформой, назначает службе внешний IP-адрес.
Функция: доступ к услуге через этот IP-адрес, подходящий для ситуаций, когда требуется балансировка нагрузки внешнего трафика.
Пример:

spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 8080
  selector:
    app: my-app
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4. ВнешнееИмя

Определение: Сопоставьте службу с внешним доменным именем (например, службой базы данных).
Функция: доступ к службе через указанное имя внешнего домена, а не через внутренний IP-адрес кластера или IP-адрес узла.
Пример:

spec:
  type: ExternalName
  externalName: example.com
  • 1
  • 2
  • 3

2. Резюме
ClusterIP: тип службы по умолчанию, доступный только внутри кластера.
NodePort: откройте порт на каждом узле, чтобы разрешить внешнему трафику доступ к сервисам.
LoadBalancer: Балансировщик нагрузки, предоставляемый облачной платформой, выделяет внешний IP-адрес, который подходит для ситуаций, когда требуется балансировка нагрузки.
Внешнее имя: сопоставляет службу с именем внешнего домена, что подходит для сценариев, требующих доступа к внешним службам.