ClusterIP — тип службы Service по умолчанию в Kubernetes, обеспечивающий стабильный внутрикластерный доступ. Kubernetes назначает виртуальный IP‑адрес (IP‑адрес, ограниченный кластером), который может быть доступен только внутри кластера из блока Service CIDR кластера. CoreDNS сопоставляет внутреннее доменное имя кластера с назначенным IP‑адресом кластера. Формат доменного имени: \u003cService-name\u003e\u003cnamespace-of-the-workload\u003e.svc.cluster.local:\u003cport\u003e, например, nginx.default.svc.cluster.local:80.
Если pod‑ам необходимо взаимодействовать друг с другом внутри кластера, вы можете создать службу ClusterIP. Например, если pod фронтенда в кластере должен получить доступ к базе данных бэкенда в том же кластере, вы можете создать службу ClusterIP.
Figure 1 показывает, как работает ClusterIP. Вы можете узнать о канале доступа, порте контейнера и правилах сопоставления порта доступа для этого типа службы.
Figure 1 Внутрикластерный доступ (ClusterIP)

Parameter | Description |
|---|---|
Service Type | Выберите ClusterIP. |
Service Name | Введите имя, которое может совпадать с именем рабочей нагрузки. |
Namespace | Выберите namespace, к которому относится рабочая нагрузка. |
Selector | Добавьте ключ и значение метки pod. Service будет связан с pod‑ами рабочей нагрузки на основе метки и будет направлять трафик к pod‑ам с этой меткой. Вы также можете нажать Reference Workload Label, чтобы использовать метку существующей рабочей нагрузки. В отображённом диалоговом окне выберите рабочую нагрузку и нажмите OK. |
Parameter | Description |
|---|---|
Protocol Version | Выберите версию протокола IP‑адреса, ограниченного кластером, для ClusterIP Service. Значение может быть IPv4, IPv6, IPv4/IPv6 (по умолчанию используется IPv4) или IPv6/IPv4 (по умолчанию используется IPv6) в зависимости от сценария применения. Значение по умолчанию — IPv4. Эта функция отображается только при включённом IPv6 во время создания кластеров версии v1.15 и новее. |
Port |
|
Вы можете настроить доступ к Service с помощью kubectl. В этом разделе в качестве примера используется нагрузка Nginx, чтобы описать, как реализовать внутрикластерный доступ с помощью kubectl.
vi nginx-deployment.yaml
Содержимое файла:
vi nginx-clusterip-svc.yaml
Содержимое файла:
kubectl create -f nginx-deployment.yaml
Если отображается информация, аналогичная следующей, нагрузка создана:
deployment/nginx created
Проверьте созданную нагрузку.
kubectl get pod
Если отображается информация, аналогичная следующей, нагрузка работает:
NAME READY STATUS RESTARTS AGEnginx-2601814895-znhbr 1/1 Running 0 15s
kubectl create -f nginx-clusterip-svc.yaml
Если отображается информация, аналогичная следующей, Service создаётся:
service/nginx-clusterip created
Проверьте созданный Service.
kubectl get svc
Если отображается информация, аналогичная следующей, Service создан, и Service получил внутренний IP‑адрес кластера.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.247.0.1 <none> 443/TCP 4d6hnginx-clusterip ClusterIP 10.247.74.52 <none> 8080/TCP 14m
kubectl run -i --tty --image nginx:alpine test --rm /bin/sh
curl 10.247.74.52:8080
curl nginx-clusterip.default.svc.cluster.local:8080
nginx-clusterip — имя Service, default — пространство имён, в котором находится Service, а svc.cluster.local — DNS‑домен для Service типа ClusterIP.
Вы можете упростить доменное имя в соответствии с вашими требованиями. Например, если Service и pod, получающий доступ, находятся в одном пространстве имён, можно использовать nginx-clusterip:8080 для доступа к нему. Если они находятся в разных пространствах имён, можно использовать nginx-clusterip.default:8080 для доступа к нему.
Если доступ выполнен успешно, будет отображена следующая информация:
<!DOCTYPE html><html><head><title>Welcome to nginx!</title><style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h1>Welcome to nginx!</h1><p>If you see this page, the nginx web server is successfully installed andworking. Further configuration is required.</p><p>For online documentation and support please refer to<a href="http://nginx.org/">nginx.org</a>.<br/>Commercial support is available at<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p></body></html>