Проверяет понимание минимального набора ресурсов и шагов для запуска приложения в Kubernetes.
Чтобы запустить сервис в Kubernetes, необходимо описать желаемое состояние системы с помощью декларативных манифестов. Минимальный набор включает два ключевых ресурса: Deployment и Service. Deployment управляет жизненным циклом подов, обеспечивая нужное количество реплик и обновления, а Service предоставляет стабильную точку доступа к подам, например, через ClusterIP или NodePort.
Перед созданием манифестов нужно иметь Docker-образ вашего приложения, доступный в реестре (например, Docker Hub или приватный registry). Затем создаются YAML-файлы, которые описывают конфигурацию.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: myregistry/my-app:v1
ports:
- containerPort: 8080Этот манифест создает три пода с контейнером из указанного образа. Важно, что селектор и метки должны совпадать, чтобы Deployment мог управлять подами.
apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
selector:
app: my-app
ports:
- port: 80
targetPort: 8080
type: ClusterIPService направляет трафик на поды с меткой app: my-app. Порт 80 — внешний, а 8080 — порт контейнера. Для доступа извне можно использовать NodePort или LoadBalancer.
deployment.yaml и service.yaml.kubectl apply -f deployment.yaml -f service.yaml.kubectl get pods и kubectl get svc.Дополнительно могут понадобиться ConfigMap для переменных окружения, Secret для паролей, Ingress для HTTP-маршрутизации и PersistentVolume для хранения данных.
Для запуска сервиса в Kubernetes достаточно создать Deployment и Service, но в реальных проектах часто добавляют другие ресурсы для конфигурации, безопасности и масштабирования. Понимание этих базовых компонентов — фундамент для работы с Kubernetes.
Уровень
Рейтинг:
5
Сложность:
3
Навыки
Kubernetes
Linux
Ключевые слова
Подпишись на Golang Developer в телеграм