【发布时间】:2019-11-11 08:56:26
【问题描述】:
我是 Kubernetes 新手,我正在尝试通过 microk8s 将应用程序部署到 Kubernetes。该应用程序包含 python flask 后端、angular 前端、redis 和 mysql 数据库。我将图像部署在多个 pod 中,状态显示“正在运行”,但 pod 没有相互通信。
然后应用程序完全 dockerized 并且它在 docker 级别运行。 在部署到 kubernetes 之前,我的烧瓶主机是 0.0.0.0,mysql 主机是 docker-compose.yaml 中的“服务名称”,但目前我将其替换为 kubernetes yml 文件的服务名称。
另外,在 Angular 前端中,我将连接到支持的 url 更改为 http://localhost:5000 到 http://backend-service,其中 backend-service 是 backend-service.yml 文件中给出的名称(dns)。但这也没有任何改变。谁能告诉我如何让这些 pod 进行通信?
部署rest未连接后我只能访问前端。
列出angular、后端的服务和部署文件。
apiVersion: v1
kind: Service
metadata:
name: angular-service
spec:
type: NodePort
selector:
name: angular
ports:
- protocol: TCP
nodePort: 30042
targetPort: 4200
port: 4200
apiVersion: v1
kind: Service
metadata:
name: backend-service
spec:
type: ClusterIP
selector:
name: backend
ports:
- protocol: TCP
targetPort: 5000
port: 5000
提前致谢!
(修改后的服务文件)
【问题讨论】:
标签: python mysql angular kubernetes deployment