Code Monkey home page Code Monkey logo

Comments (10)

javsalgar avatar javsalgar commented on September 23, 2024

Hi,

Which is the platform you are using to deploy airflow? Maybe it requires more resources.

from charts.

fzhan avatar fzhan commented on September 23, 2024

@javsalgar the k8s cluster has 5 nodes, each 64GB x 2.3 20 core CPU.

I'm running other application such as superset, on the same platform, all loading fine, and the fact docker version of airflow (as indicated above) loads perfectly.

from charts.

Mauraza avatar Mauraza commented on September 23, 2024

Hi @fzhan,

I found this issue in the airflow repo apache/airflow#8907. Could you check it?

from charts.

fzhan avatar fzhan commented on September 23, 2024

@Mauraza i've gone through and implemented gevent, and turned off LoadBalancer back to ClusterIP. But it almost feel like the ingress is not telling browser these JS/CSS can be cached.

image

Below is the docker image, where everything loads in ms:

image

That's really strange

from charts.

fzhan avatar fzhan commented on September 23, 2024

@Mauraza I've added this snippet to ingress annotation and things starts to speed up (load from memory):

  annotations: 
...
    nginx.ingress.kubernetes.io/configuration-snippet: |
      if ($request_uri ~* \.(js|css|gif|jpe?g|png)) {
        expires 5d;
        add_header Cache-Control "public";
      }

Not sure if this is worth looking into but there should be some kind of gunicorn config which may / may not worked for requesting page resources.

from charts.

Mauraza avatar Mauraza commented on September 23, 2024

Hi @fzhan,

It's strange... where are you running the chart?

from charts.

fzhan avatar fzhan commented on September 23, 2024

on a local microk8s cluster with 5 nodes.

None of the other packages with ingress had issue like this, especially those that uses gunicorn.

from charts.

Mauraza avatar Mauraza commented on September 23, 2024

Hi @fzhan,

Appears some strange events in the kubectl describe?

from charts.

fzhan avatar fzhan commented on September 23, 2024
Name:                   airflow-web
Namespace:              airflow
CreationTimestamp:      Wed, 14 Feb 2024 00:28:29 +1100
Labels:                 app.kubernetes.io/component=web
                        app.kubernetes.io/instance=airflow
                        app.kubernetes.io/managed-by=Helm
                        app.kubernetes.io/name=airflow
                        app.kubernetes.io/version=2.0.0
                        helm.sh/chart=airflow-16.8.2
Annotations:            deployment.kubernetes.io/revision: 3
                        meta.helm.sh/release-name: airflow
                        meta.helm.sh/release-namespace: airflow
Selector:               app.kubernetes.io/component=web,app.kubernetes.io/instance=airflow,app.kubernetes.io/name=airflow
Replicas:               1 desired | 1 updated | 1 total | 1 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  25% max unavailable, 25% max surge
Pod Template:
  Labels:           app.kubernetes.io/component=web
                    app.kubernetes.io/instance=airflow
                    app.kubernetes.io/managed-by=Helm
                    app.kubernetes.io/name=airflow
                    app.kubernetes.io/version=2.0.0
                    helm.sh/chart=airflow-16.8.2
  Annotations:      checksum/configmap: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
  Service Account:  airflow
  Containers:
   airflow-web:
    Image:           docker.io/bitnami/airflow:2-debian-11
    Port:            8080/TCP
    Host Port:       0/TCP
    SeccompProfile:  RuntimeDefault
    Liveness:        tcp-socket :http delay=180s timeout=5s period=20s #success=1 #failure=6
    Readiness:       tcp-socket :http delay=30s timeout=5s period=10s #success=1 #failure=6
    Environment:
      AIRFLOW_FERNET_KEY:                          <set to the key 'airflow-fernet-key' in secret 'airflow'>  Optional: false
      AIRFLOW_SECRET_KEY:                          <set to the key 'airflow-secret-key' in secret 'airflow'>  Optional: false
      AIRFLOW_LOAD_EXAMPLES:                       no
      BASH_DEBUG:                                  1
      BITNAMI_DEBUG:                               true
      AIRFLOW_DATABASE_NAME:                       x
      AIRFLOW_DATABASE_USERNAME:                   x
      AIRFLOW_DATABASE_PASSWORD:                   <set to the key 'password' in secret 'airflow-externaldb'>  Optional: false
      AIRFLOW_DATABASE_HOST:                       postgresql-primary.postgres
      AIRFLOW_DATABASE_PORT_NUMBER:                5432
      REDIS_HOST:                                  redis-master.x
      REDIS_PORT_NUMBER:                           6379
      REDIS_PASSWORD:                              <set to the key 'redis-password' in secret 'airflow-externalredis'>  Optional: false
      AIRFLOW_EXECUTOR:                            CeleryExecutor
      AIRFLOW_WEBSERVER_HOST:                      0.0.0.0
      AIRFLOW_WEBSERVER_PORT_NUMBER:               8080
      AIRFLOW_USERNAME:                            x
      AIRFLOW_PASSWORD:                            <set to the key 'airflow-password' in secret 'airflow'>  Optional: false
      AIRFLOW_BASE_URL:                            http://x:8080
      AIRFLOW_LDAP_ENABLE:                         no
      AIRFLOW__WEBSERVER__WORKER_CLASS:            gevent
      AIRFLOW__CODE_EDITOR__ENABLED:               True
      AIRFLOW__CODE_EDITOR__ROOT_DIRECTORY:        /opt/bitnami/airflow/dags
      AIRFLOW__CODE_EDITOR__STRING_NORMALIZATION:  True
      AIRFLOW__CODE_EDITOR__MOUNT:                 name=logs,path=/opt/bitnami/airflow/logs
      _AIRFLOW_PATCH_GEVENT:                       1
      AIRFLOW__CORE__DEFAULT_TIMEZONE:             Australia/Melbourne
      AIRFLOW__WEBSERVER__DEFAULT_UI_TIMEZONE:     Australia/Melbourne
    Mounts:
      /bitnami/python/requirements.txt from requirements (rw,path="requirements.txt")
      /opt/bitnami/airflow/dags from airflow-dag (rw)
  Volumes:
   airflow-dag:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  airflow-dags
    ReadOnly:   false
   requirements:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      airflow-requirements
    Optional:  false
Conditions:
  Type           Status  Reason
  ----           ------  ------
  Available      True    MinimumReplicasAvailable
  Progressing    True    NewReplicaSetAvailable
OldReplicaSets:  <none>
NewReplicaSet:   airflow-web-69c54b9bf8 (1/1 replicas created)
Events:          <none>

Not really anything strange in the deployment @Mauraza

from charts.

Mauraza avatar Mauraza commented on September 23, 2024

Did you check if it could be related to a DNS problem? (documentation )

from charts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.