Службы ( или сервисы) Kubernetes позволяют подам взаимодействовать вне кластера Kubernetes.
Существует три типа сервисов:

ClusterIP

ClusterIP — это внутренний IP-адрес по умолчанию, используемый при создании внутренней службы.
Этот IP-адрес кластера доступен только внутри кластера и недоступен из внешней сети.
Когда вы выполните kubectl get services, вы увидите CLUSTER-IP в заголовке, и это IP-адрес по умолчанию, созданный для каждой службы.
Независимо от того, какой это тип сервиса.

NodePort

NodePort предоставляет порт на всех рабочих нодах в кластере Kubernetes.
Вы можете определить порт вручную или позволить кластеру Kubernetes создать его для вас динамически.
Порты NodePort доступны каждой рабочей ноде и должны быть уникальными для каждой службы.

Load balancer

Load balancer- это еще один слой над NodePort.

При создании службы Load balancer сначала создается виртуальный IP-адрес NodePort и внешнего балансировщика нагрузки.

Load balancer относятся к облачным провайдерам и могут быть реализованы только в Azure, GCS, AWS, OpenStack и OpenSwift.

Управление службами Kubernetes

Список сервисов

Команда, показанная ниже перечислит все сервисы в пространстве имен default.

kubectl get services
Пример вывода:
$ kubectl get services
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP   6h
Команда, показанная ниже выведет список всех сервисов из всех пространств имен.
kubectl get services --all-namespaces

Пример вывода:

$ kubectl get services --all-namespaces
NAMESPACE     NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)         AGE
default       kubernetes   ClusterIP   10.96.0.1    <none>        443/TCP         6h
kube-system   kube-dns     ClusterIP   10.96.0.10   <none>        53/UDP,53/TCP   6h

 

Поделитесь статьей:

Добавить комментарий