anomaly / anomaly/lab-python-server

Revise `Dockerfile` for use in Kubernetes or provide additional configuration documentation

Đang mở
#81 0 bình luận 0 reaction 1 người được giao Được @devraj nhận Xem trên GitHub
Ngôn ngữ chính
Python
Star
16
Fork
4
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

**Is your feature request related to a problem? Please describe.**
When trying to use the template for a project that would run in Kubernetes, there were many things that didn't work.

- The `Dockerfile` for production does not provide a `CMD` which is expected for the container to run, either provide this or provide documentation for creating the `helm` chart to provide the `command` to run. Ideally we could do both, where if a `command` is not provided it runs the `fastapi` app and otherwise runs `taskiq` workers etc.
- To make the template generic we have used the variable `PROJ_NAME` wherever possible, this has worked while we have used `docker compose` to run production workloads where it can find the environment variable but not much when it's running in a Kubernetes managed environment. This is particularly an issue with the `Dockerfile` itself where it references `PROJ_NAME` in the `uvicorn` command
- Should we use `gunicorn` at all? Follow [this discussion](https://github.com/tiangolo/fastapi/discussions/7439#discussioncomment-5140961) on FastAPI discussion.

The `Dockerfile` has a section where we run as the project `User` this results in:

```
INFO: Started server process [1]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 13] error while attempting to bind on address ('0.0.0.0', 80): permission denied
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
```

See [bind() to 0.0.0.0:80 failed(13: Permission denied](https://github.com/kubernetes/ingress-nginx/issues/3858) where they [suggest to run the command as root](https://github.com/kubernetes/ingress-nginx/issues/3858#issuecomment-470099783)

**Describe the solution you'd like**
Either provide a programmatic solution to the above or extended documentation that allows developers to quickly use this template in production in Kubernetes.

**Describe alternatives you've considered**
NA

**Additional context**
All relevant to the Kubernetes deployment

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.