Flask развернуто с Kubernetes: socket.gaierror: [Errno -2] Имя или служба неизвестна - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь обернуть мою голову Kubernetes, поэтому я написал простое приложение. Он отлично работает на моем компьютере, однако после развертывания с Kubernetes приложение не может запуститься. Вот как выглядит код:

import uuid

import flask
from flask import Flask

hostname = str(uuid.uuid4())
app = Flask(__name__)


@app.route('/index')
@app.route('/')
def hello_world():
    return flask.render_template('index.html', hostname=hostname)


if __name__ == '__main__':
    app.run(host='0.0.0.0:5000')

Развертывание приложения с помощью docker:

FROM python:3.9.0a5-buster

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["python", "app.py"]

Однако я получаю следующую ошибку:

kubectl logs flask-debugger-696c587755-d64rg
 * Serving Flask app "app" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
Traceback (most recent call last):
  File "/app/app.py", line 17, in <module>
    app.run(host='0.0.0.0:5000')
  File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 990, in run
    run_simple(host, port, self, **options)
  File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 1052, in run_simple
    inner()
  File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 996, in inner
    srv = make_server(
  File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 847, in make_server
    return ThreadedWSGIServer(
  File "/usr/local/lib/python3.9/site-packages/werkzeug/serving.py", line 740, in __init__
    HTTPServer.__init__(self, server_address, handler)
  File "/usr/local/lib/python3.9/socketserver.py", line 452, in __init__
    self.server_bind()
  File "/usr/local/lib/python3.9/http/server.py", line 138, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/usr/local/lib/python3.9/socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
socket.gaierror: [Errno -2] Name or service not known

В чем проблема?

1 Ответ

0 голосов
/ 26 апреля 2020
import uuid

import flask
from flask import Flask

hostname = str(uuid.uuid4())
app = Flask(__name__)


@app.route('/index')
@app.route('/')
def hello_world():
    return flask.render_template('index.html', hostname=hostname)


if __name__ == '__main__':
    app.run(host='0.0.0.0',port=5000)

@ iain-shelvington - это правильный. Параметр порта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...