kubernetes: роль селектора в обслуживании против развертывания - PullRequest
0 голосов
/ 27 сентября 2018

На официальном примере из Kubernetes сайта документации по развертыванию приложения Wordpress с mysql:

Определение службы mysql:

apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None

Определение развертывания mysql

apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: wordpress-mysql
  labels:
    app: wordpress
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql

Мой вопрос следующий:

Определение Deployment имеет matchLabel selector, так что оно будет match определенный ниже модуль, имеющий метки app: wordpress и tier:mysql.

Почему для Service selector не требуется директива matchLabelдля той же цели?Что такое «выбор» услуги, выполняемой при

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

Согласно документации K8S на Метки и селекторы .

В настоящее время API поддерживает два типа селекторов: на основе равенства и на основе набора.

Более новые ресурсы, такие как Job, Deployment, Replica Set и Daemon Set, также поддерживают требования на основе набора.

Похоже, что новые ресурсы, такие как Deployment, поддерживают более функциональные наборына основе (с matchLabels) и старые ресурсы, такие как Сервисы, следуют старым на основе равенства (без matchLabels).

0 голосов
/ 27 сентября 2018

Service - это концепция, которая делает ваш контейнер (в данном случае хостинг WordPress) доступным для данного порта.Он сопоставляет внешний порт (порт Node's) и внутренний порт (порт контейнера / модуля).Это достигается с помощью сетевых возможностей Pod's.Селектор - это способ указать в сервисе, на каком Pod должен быть открыт порт.Deployment на самом деле просто способ группировки вещей - сам Pod содержит контейнер Wordpress, а порт, определенный в службе, доступен через Pod сеть.

Этопростое объяснение, есть разные виды услуг.

...