Найти тему
Из сисадмина в DevOps`а

Создание и управление Kubernetes Services - K8s. Часть 4

Оглавление

Сегодня мы с вами разберем тему Kubernetes Services. Приступаем.

Виды K8s Services

Вид сервиса задается при его создании. Существуют следующие виды services:

  • ClusterIP — IP только внутри K8s Cluster (используется по умолчанию)
  • NodePort — Определенный порт на всех K8s Worker Nodes
  • ExternalName — DNS CNAME Record
  • LoadBalancer — Только в Cloud Clusters

Немного практики

Первое что надо создать в кластере это deployment (про деплоймент есть отдельная заметка):

kubectl create deployment DEPLOYMENT_NAME --image IMAGE_NAME

Затем делаем scale:

kubectl scale deployment DEPLOYMENT_NAME --replicas NUM_OF_REPLICAS

И вот теперь мы создадим сервис, чтобы иметь доступ к нашим подам:

kubectl expose deployment DEPLOYMENT_NAME --type=SERVICE_TYPE --port PORT_NUM

Для проверки вводим:

kubectl get services

Для удаления services используем команду:

kubectl delete service DEPLOYMENT_NAME

K8s Services также можно создавать с помощью YAML файла. Минимально необходимый формат вы можете посмотреть в моем GitHub`е.

Для создания сервиса через yaml файл используется вот такая команда:

kubectl apply -f FILE_NAME.yaml

Обсудить эту заметку можно в нашем Телеграм канале: https://t.me/devops_spb_ru или в комментариях ниже.