Рубрики
Без рубрики

Deploy Flask App на Kubernetes – 2

Это вторая часть этой статьи, где мы выполнили следующие действия: создано Simple Flask App, созданное Docker … Tagged с Python, Kubernetes, Docker.

Это вторая часть этой статьи, где мы следили:

  1. Создано простое приложение Flask
  2. Встроенное изображение приложения Docker
  3. Толкнул изображение в Dockerhub.

В этом посте я покажу вам, как вы можете развернуть свое приложение в Kubernetes Cluster. Если у вас нет доступа к многонодочному кластеру, вы можете установить одно узловой кластер, например Minikube или Docker Desktop Для моей машины Ubuntu 18.04 я следовал этот урок

Давайте сначала поймем несколько ресурсов в Kubernetes. Для простоты я делаю простое Книжный сценарий здесь.

Представьте, что вы работаете в книжном магазине. Клиенты приходят и просят книгу. Это ваша работа, чтобы получить запросную книгу. Допустим, клиент приходит и просит Гарри Портер Книга, вы идете в раздел фэнтезийного романа, найдите 3 копии, возьмите одну из них и продаете его клиенту. Теперь у вас осталось 2 копии. Тем не менее, в вашем магазине есть правило, в каждой книге должно быть три копии. Это означает, что вам нужно принести еще одну копию из акции и поместить ее вдоль этих двух других книг.

1. Капсул

В вышеприведенном сценарии каждая книга представляет собой стручок. Как и в книге «Гарри Портер» есть свое собственное содержимое, стручки также запускают свое собственное приложение. Стручки – это экземпляры, которые запускают фактическое приложение.

2. Развертывание

В вышеприведенном сценарии это было правило, что должно быть три копии каждой книги. Это правило контролировало желаемое состояние количества книг в магазине. Как это, у нас есть развертывание В Kubernetes, который контролирует, сколько стручков должно работать.

3. обслуживание

Было 3 копии “Гарри Портера”. Вы могли бы взять любого из них (это не имеет значения, поскольку они одинаковые копии). Проще говоря, «Гарри Портер» означает любую из этих трех книг. Услуги похожи на это. Он идентифицирует группу стручков как единое целое.

Все ресурсы в Kubernetes создаются с использованием конфигураций YAML. Обычно мы определяем POD внутри развертывания, поэтому мне нужны два файла YAML. Давайте создадим их.

  1. 1_deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: simple-flask-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: simple-flask-app
  template:
    metadata:
      labels:
        app: simple-flask-app
    spec:
      containers:
        - name: simple-flask-app
          image: yogen48/simple-flask-app
          ports:
            - containerPort: 8083

2. 2_service Давайте создадим услугу.

apiVersion: v1
kind: Service
metadata: 
  name: simple-flask-app
spec:
  selector:
    app: simple-flask-app
  type: ClusterIP
  ports:
    - name: http
      port: 9999
      targetPort: 8083

Теперь в соответствии с этими файлами yaml, давайте создадим ресурсы в Kubernetes

Kubectl Apply -f 1_Deployment.yaml Kubectl Apply -f 2_Service.yaml

Теперь давайте проверим, есть ли капсулы, развертывания и услуги.

kubectl Получите все

Теперь давайте проверим, получили ли мы наше приложение запустить или нет путем пересылки порта.

Kubectl Port-Forward SVC/Simple-Flask-App 8888: 9999

Теперь давайте скручиваем

Curl Localhost: 8888

Оригинал: “https://dev.to/yogendra_tamang/deploy-flask-app-on-kubernetes-2-17pb”