Я пытаюсь обернуть мою голову 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
В чем проблема?