Докер — работа с Kubernetes

Опубликовано: 3 Октября, 2022

Docker — это инструмент, разработанный для упрощения создания, развертывания и запуска приложений с использованием контейнеров. Docker также может выполнять файлы изображений. Docker позволяет отделить приложения от инфраструктуры, чтобы контейнеры Docker могли быстрее доставлять проекты. Он использует виртуализацию на уровне ОС для доставки приложения.

Преимущества контейнера Docker:

  • Размер небольшой, они очень быстрые.
  • Легкий и портативный.
  • Меньше оперативной памяти и места.
  • Процесс-изолирован, если один контейнер затронут, другой не будет затронут.

Kubernetes — это система с открытым исходным кодом для автоматизации, развертывания и масштабирования контейнерных приложений. Он используется для создания современных приложений. Вы можете использовать Kubernetes для облачных развертываний. При использовании в сочетании с AWS вы используете Kubernetes для управления кластерами экземпляров Amazon Elastic Compute Cloud (EC2), в которых размещены ваши контейнеры.

Преимущества Кубернета:

  • Масштабируемость
  • Гибкость
  • Портативность

Ключевые термины в Docker:

  1. Контейнер . Контейнер позволяет разработчику упаковать приложение со всеми необходимыми частями, такими как библиотеки, инструменты, код и другие зависимости, которые используются для запуска службы и ее развертывания в виде одного пакета. Он состоит из контейнерных движков, которые помогают в создании контейнеров.
  2. Docker Engine: Docker Engine — это инновация в области контейнеризации с открытым исходным кодом, которая используется для создания и контейнеризации ваших приложений.
  3. Файл Docker: образ Docker создается с использованием файла Docker. Этот файл содержит данные в виде команд, которые, в свою очередь, помогают в создании образа Docker.
  4. Образ Docker: Образ Docker — это просматриваемый формат, который содержит множество указаний по созданию контейнера, который может работать на портале Docker.

Предпосылки :

  • Рабочий стол докера
  • Интерфейс командной строки Kubernetes
  • миникуб

Монтаж:

1. Установите Docker Desktop : Docker может естественным образом создавать изображения, следуя рекомендациям из Dockerfile. Dockerfile — это книжный архив, который содержит все заказы, которые клиент может получить в очереди заказов, чтобы собрать картинку. С помощью клиентов сборки докеров можно создать роботизированную сборку, которая последовательно выполняет несколько рекомендаций по цепочке заказов.

Чтобы установить рабочий стол Docker для Windows, вы можете перейти по этой ссылке.

2. Включите Kubernetes: после установки докера вы должны включить Kubernetes. Нажмите «Настройки», это приведет вас к следующему месту:

3. Установите Kubernetes CLI: для запуска кластера Kubernetes используется интерфейс командной строки (CLI) Kubernetes, kubectl.

To download Kubernetes CLI refer to this link. 

4. Установите Minikube: Minikube называется «локальным движком Kubernetes». Minikube — это устройство, позволяющее запускать Kubernetes локально. Minikube запускает одиночную группу Kubernetes на вашем ПК.

To install refer to this link. 

5. После того, как весь процесс установки завершен, теперь мы можем создать простое приложение в любом редакторе.

  • Создайте папку (здесь hello-minikube) на рабочем столе.
  • Откройте эту папку в своем коде Visual Studio (вы можете использовать редактор по вашему выбору). Структура проекта выглядит следующим образом:

  • В app.py добавьте следующий код Python:

Python3




from flask import flask, jsonify
import time
 
app = flask(_name_)
 
app.router("/")
def hello_minikubegfg():
    return jsonify({"Time to Call":time.time()})
 
if _name_ == "_main_":
    app.run(host="0.0.0.0",debug=True)

  • В файле require.txt -> Просто добавьте требуемую зависимость (здесь я добавил флягу)
  • В файле Docker -> Извлеките образ докера из концентратора докеров, а также скопируйте все файлы, находящиеся в каталоге, как указано ниже:
FROM python:3.7
RUN mkdir /app
WORKDIR /app/
ADD . /app/
RUN pip install -r requirements.txt
CMD ["python", "/app/app.py"]
  • В терминале добавьте следующие команды:
docker build -t hello-minikube . (Press Enter)
docker images (Press Enter)

После выполнения вышеуказанных команд вы сможете увидеть идентификатор изображения следующим образом:

  • Теперь добавьте новое имя файла « deployment.yaml » и добавьте приведенный ниже код:
apiVersion: v1
kind: Service
metadata:
  name: test-service
spec:
  selector:
    app: test-app
  ports:
  - protocol: "TCP"
    port: 6000
    targetPort: 5000
  type: LoadBalancer

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-minikube-test-app
spec:
  selector:
    matchLabels:
      app: hello-minikube-test-app
  replicas: 5
  template:
    metadata:
      labels:
        app: hello-minikube-test-app
    spec:
      containers:
      - name: hello-minikube-test-app
        image: hello-minikube
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5000

час В терминале добавьте следующие команды для развертывания:

minikube start (Press Enter)
kubectl apply -f deployment.yaml (Press Enter)
minikube dashboard (Press Enter)

я. После выполнения приведенных выше команд вы увидите, что ваше приложение Docker было развернуто в Kubernetes, а в браузере откроется панель управления minikube.

Вывод: Таким образом, приложение Docker было успешно развернуто в Kubernetes.