Это вторая часть этой статьи, где мы следили:
- Создано простое приложение Flask
- Встроенное изображение приложения Docker
- Толкнул изображение в Dockerhub.
В этом посте я покажу вам, как вы можете развернуть свое приложение в Kubernetes Cluster. Если у вас нет доступа к многонодочному кластеру, вы можете установить одно узловой кластер, например Minikube или Docker Desktop Для моей машины Ubuntu 18.04 я следовал этот урок
Давайте сначала поймем несколько ресурсов в Kubernetes. Для простоты я делаю простое Книжный сценарий здесь.
Представьте, что вы работаете в книжном магазине. Клиенты приходят и просят книгу. Это ваша работа, чтобы получить запросную книгу. Допустим, клиент приходит и просит Гарри Портер Книга, вы идете в раздел фэнтезийного романа, найдите 3 копии, возьмите одну из них и продаете его клиенту. Теперь у вас осталось 2 копии. Тем не менее, в вашем магазине есть правило, в каждой книге должно быть три копии. Это означает, что вам нужно принести еще одну копию из акции и поместить ее вдоль этих двух других книг.
1. Капсул
В вышеприведенном сценарии каждая книга представляет собой стручок. Как и в книге «Гарри Портер» есть свое собственное содержимое, стручки также запускают свое собственное приложение. Стручки – это экземпляры, которые запускают фактическое приложение.
2. Развертывание
В вышеприведенном сценарии это было правило, что должно быть три копии каждой книги. Это правило контролировало желаемое состояние количества книг в магазине. Как это, у нас есть развертывание В Kubernetes, который контролирует, сколько стручков должно работать.
3. обслуживание
Было 3 копии “Гарри Портера”. Вы могли бы взять любого из них (это не имеет значения, поскольку они одинаковые копии). Проще говоря, «Гарри Портер» означает любую из этих трех книг. Услуги похожи на это. Он идентифицирует группу стручков как единое целое.
Все ресурсы в Kubernetes создаются с использованием конфигураций YAML. Обычно мы определяем POD внутри развертывания, поэтому мне нужны два файла YAML. Давайте создадим их.
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”