Этот вопрос проверяет понимание механизма, который позволяет Pod-ам взаимодействовать друг с другом и с внешними сервисами.
Service – это абстракция в Kubernetes, обеспечивающая сетевой доступ к группе Pod-ов. Он распределяет трафик между Pod-ами, поддерживает балансировку нагрузки и позволяет сервисам взаимодействовать внутри и вне кластера.
В Kubernetes Pod-ы динамически создаются и удаляются, поэтому их IP-адреса могут изменяться. Service решает эту проблему, создавая постоянную точку доступа.
ClusterIP – доступен только внутри кластера.
NodePort – делает сервис доступным извне через порт узла.
LoadBalancer – создаёт внешний балансировщик нагрузки.
ExternalName – перенаправляет запросы на внешний домен.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080Этот сервис направляет трафик на Pod-ы с меткой app: my-app, перенаправляя порты.
Service в Kubernetes обеспечивает стабильный доступ к Pod-ам, балансировку нагрузки и сетевое взаимодействие между компонентами.