В мире оркестрации контейнеров Kubernetes стал стандартом де-факто. Он обеспечивает надежную основу для управления и масштабирования контейнерных приложений. Три ключевых компонента Kubernetes — это модули, наборы реплик и службы. В этой статье мы рассмотрим различия между этими компонентами и приведем примеры кода, иллюстрирующие их использование.
- Поды.
Под — это самая маленькая и базовая единица в Kubernetes. Он представляет собой один экземпляр запущенного процесса в кластере. Поды инкапсулируют один или несколько контейнеров, общее хранилище и сетевые ресурсы. Вот пример создания файла манифеста Pod:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: my-container
image: nginx:latest
- Наборы реплик:
Набор реплик отвечает за поддержание определенного количества идентичных модулей, работающих в любое время. Если модуль выходит из строя или прекращает работу, ReplicaSet гарантирует, что будет создан новый модуль для поддержания желаемого количества. Вот пример создания файла манифеста ReplicaSet:
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-container
image: nginx:latest
- Сервисы.
Сервис обеспечивает стабильную конечную точку сети для подключения к группе модулей. Это позволяет балансировать нагрузку и обнаруживать службы внутри кластера. Вот пример создания файла манифеста службы:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 80
type: ClusterIP
В этой статье мы рассмотрели различия между модулями Pod, наборами реплик и службами в Kubernetes. Модули представляют собой отдельные экземпляры запущенных процессов, наборы реплик обеспечивают постоянную работу заданного количества модулей, а службы предоставляют возможности сети и балансировки нагрузки. Понимание этих компонентов имеет решающее значение для эффективного управления контейнерными приложениями в Kubernetes.