kubernetes 为什么我的Flask应用程序只能在具有一个副本的AKS上正常工作?

mkshixfv  于 2023-05-28  发布在  Kubernetes
关注(0)|答案(1)|浏览(242)

当我在具有一个副本的AKS上部署一个简单的flask应用程序时,该应用程序按预期运行。但是当我使用两个副本部署应用程序时,它并没有按预期工作。用户无法重定向主页后登录成功,有时它的作品。
我们如何管理具有两个副本的flask应用程序?
以下是我的kubernetes清单供您参考。
谢谢

部署.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontpage
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: frontpage
  template:
    metadata:
      labels:
        app: frontpage
    spec:
      containers:
      - name: frontpage
        image: ***.azurecr.io/frontpage:latest
        limits:
        ports:
        - containerPort: 5000

服务.yaml

apiVersion: v1
kind: Service
metadata:
  name: frontpage
  namespace: default
spec:
  selector:
    app: frontpage
  ports:
  - name: http
    port: 80
    targetPort: 5000
  type: ClusterIP

入口.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: frontpage
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - www.***.com
    secretName: ingress-tls-csi
  rules:
  - host: www.***.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: frontpage
            port:
              number: 80
ckx4rj1h

ckx4rj1h1#

尝试删除注解nginx.ingress.kubernetes.io/rewrite-target或添加捕获的组。
更新
Your application使用file system session affinity,因此包含状态(参见SESSION_TYPE)。复制副本之间不共享此状态。
你能改变会话后端吗?您还可以在副本之间共享后端卷以进行测试。

相关问题