
Kubernetes для начинающих: установка и настройка с нуля
Kubernetes — это мощная система оркестрации контейнеров, которая позволяет автоматизировать развертывание, масштабирование и управление контейнеризированными приложениями. В этом руководстве мы рассмотрим, как установить и настроить Kubernetes для начинающих, шаг за шагом.
Что такое Kubernetes?
Kubernetes (часто сокращается до K8s) — это платформа с открытым исходным кодом, разработанная Google для управления контейнеризированными приложениями. Она предоставляет инструменты для автоматизации развертывания, масштабирования и управления приложениями, работающими в контейнерах.
Преимущества Kubernetes
Kubernetes предлагает множество преимуществ, включая:
- Автоматическое масштабирование приложений
- Высокую доступность
- Упрощенное управление контейнерами
- Гибкость и переносимость
Установка Kubernetes
Перед установкой Kubernetes убедитесь, что у вас есть следующие предварительные требования:
- Операционная система: Linux, macOS или Windows (с WSL2)
- Минимум 2 ГБ оперативной памяти
- 2 CPU
- 20 ГБ свободного места на диске
Установка Docker
Kubernetes использует Docker в качестве среды выполнения контейнеров. Установите Docker, выполнив следующие команды:
sudo apt-get update
sudo apt-get install docker.io
sudo systemctl start docker
sudo systemctl enable dockerУстановка kubectl
kubectl — это инструмент командной строки для управления Kubernetes. Установите его с помощью следующих команд:
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlУстановка Minikube
Minikube — это инструмент, который позволяет запустить Kubernetes локально. Установите его следующим образом:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikubeЗапуск Kubernetes
После установки всех компонентов запустите Minikube:
minikube startЭта команда создаст виртуальную машину и развернет на ней Kubernetes. После завершения вы можете проверить статус кластера:
kubectl cluster-infoРазвертывание первого приложения
Давайте развернем простое приложение в Kubernetes. Создайте файл deployment.yaml со следующим содержимым:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
selector:
matchLabels:
app: nginx
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80Примените конфигурацию:
kubectl apply -f deployment.yamlПроверьте статус развертывания:
kubectl get deploymentsМасштабирование приложения
Kubernetes позволяет легко масштабировать приложения. Чтобы увеличить количество реплик до 4, выполните:
kubectl scale deployment nginx-deployment --replicas=4Доступ к приложению
Чтобы получить доступ к приложению извне, создайте сервис:
kubectl expose deployment nginx-deployment --type=LoadBalancer --port=80Затем получите URL для доступа:
minikube service nginx-deployment --urlМониторинг и логи
Kubernetes предоставляет инструменты для мониторинга и просмотра логов. Чтобы просмотреть логи контейнера, выполните:
kubectl logs Для мониторинга ресурсов используйте:
kubectl top podsОбновление приложения
Чтобы обновить версию nginx до 1.16.1, выполните:
kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1Откат обновления
Если обновление вызвало проблемы, вы можете откатиться к предыдущей версии:
kubectl rollout undo deployment/nginx-deploymentУдаление приложения
Чтобы удалить развернутое приложение, выполните:
kubectl delete deployment nginx-deployment
kubectl delete service nginx-deploymentЗаключение
Kubernetes — это мощный инструмент для управления контейнеризированными приложениями. В этом руководстве мы рассмотрели основы установки и настройки Kubernetes для начинающих. Теперь вы можете развертывать, масштабировать и управлять своими приложениями в Kubernetes.
Для дальнейшего изучения рекомендуем ознакомиться с официальной документацией Kubernetes и попробовать развернуть более сложные приложения.
