```0/2 nodes are available: 1 Too many pods, 1 nod...
# replication-troubleshooting
s
Copy code
0/2 nodes are available: 1 Too many pods, 1 node(s) didn't find available persistent volumes to bind.
This is the warning coming in the pod for airbyte-db when deployed on EKS. Can anyone help me in this
1
k
Hi @Shashank Tiwari, have you deployed airbyte using kustomize or helm charts?
s
helm charts. Everything is default as of now, no changes made to helm charts
k
Which version was used?
s
version: 0.45.3
of helm charts
k
Hmm, bu there’s no such version available right now
The latest version is going to be
0.40.18
that’s under release right now(will be available in a few mins)
s
you are asking about app version?
appVersion: "0.40.14"
k
No, I’m asking about the chart version.
version: x.x.x
Copy code
kskobylko@Kyryls-Air charts % helm search repo airbyte           
NAME                            CHART VERSION   APP VERSION     DESCRIPTION                             
airbyte/airbyte                 0.40.17         0.40.14         Helm chart to deploy airbyte            
airbyte/airbyte-bootloader      0.40.18         0.40.14         Helm chart to deploy airbyte-bootloader 
airbyte/metrics                 0.40.18         0.40.3          Helm chart to deploy airbyte-metrics    
airbyte/pod-sweeper             0.40.18         0.39.37-alpha   Helm chart to deploy airbyte-pod-sweeper
airbyte/server                  0.40.18         0.40.14         Helm chart to deploy airbyte-server     
airbyte/temporal                0.40.18         0.40.14         Helm chart to deploy airbyte-temporal   
airbyte/webapp                  0.40.18         0.40.14         Helm chart to deploy airbyte-webapp     
airbyte/worker                  0.40.18         0.40.14         Helm chart to deploy airbyte-worker
s
Sorry for that. Using
0.40.16
@Kyryl Skobylko
k
Oh yes, better try to use
0.40.18
since that’s the latest release available
it should work without any issues
s
Pod airbyte-sundial-airbyte-bootloader running
Error: INSTALLATION FAILED: failed pre-install: timed out waiting for the condition
helm.go:84: [debug] failed pre-install: timed out waiting for the condition
INSTALLATION FAILED
main.newInstallCmd.func2
<http://helm.sh/helm/v3/cmd/helm/install.go:141|helm.sh/helm/v3/cmd/helm/install.go:141>
<http://github.com/spf13/cobra.(*Command).execute|github.com/spf13/cobra.(*Command).execute>
<http://github.com/spf13/cobra@v1.5.0/command.go:872|github.com/spf13/cobra@v1.5.0/command.go:872>
<http://github.com/spf13/cobra.(*Command).ExecuteC|github.com/spf13/cobra.(*Command).ExecuteC>
<http://github.com/spf13/cobra@v1.5.0/command.go:990|github.com/spf13/cobra@v1.5.0/command.go:990>
<http://github.com/spf13/cobra.(*Command).Execute|github.com/spf13/cobra.(*Command).Execute>
<http://github.com/spf13/cobra@v1.5.0/command.go:918|github.com/spf13/cobra@v1.5.0/command.go:918>
main.main
<http://helm.sh/helm/v3/cmd/helm/helm.go:83|helm.sh/helm/v3/cmd/helm/helm.go:83>
runtime.main
runtime/proc.go:250
runtime.goexit
runtime/asm_arm64.s:1172
Running into this new error
Bootloader is failing to install again and again. Also because of the errors, airbyte-db pod and airbyte-minio pod are failing to start up on EKS
k
Can you send me the following: •
kubectl describe pod airbyte-sundial-airbyte-bootloader
kubectl logs airbyte-sundial-airbyte-bootloader
s
@Kyryl Skobylko here are the logs
2022-10-13 11:21:55,031 main INFO Loading mask data from '/seed/specs_secrets_mask.yaml
2022-10-13 11:21:55 INFO i.a.c.EnvConfigs(getEnvOrDefault):1091 - Using default value for environment variable CONFIG_DATABASE_USER: 'airbyte'
2022-10-13 11:21:55 INFO i.a.c.EnvConfigs(getEnvOrDefault):1091 - Using default value for environment variable CONFIG_DATABASE_PASSWORD: '*****'
2022-10-13 11:21:55 INFO i.a.c.EnvConfigs(getEnvOrDefault):1091 - Using default value for environment variable CONFIG_DATABASE_URL: 'jdbc:<postgresql://airbyte-db-svc:5432/db-airbyte>'
2022-10-13 11:21:55 INFO c.z.h.HikariDataSource(<init>):80 - HikariPool-1 - Starting...
2022-10-13 11:21:55 INFO c.z.h.HikariDataSource(<init>):82 - HikariPool-1 - Start completed.
2022-10-13 11:21:55 INFO c.z.h.HikariDataSource(<init>):80 - HikariPool-2 - Starting...
2022-10-13 11:21:55 INFO c.z.h.HikariDataSource(<init>):82 - HikariPool-2 - Start completed.
2022-10-13 11:21:55 INFO i.a.c.EnvConfigs(getEnvOrDefault):1091 - Using default value for environment variable SECRET_PERSISTENCE: 'TESTING_CONFIG_DB_TABLE'
here is the describe
Name:             airbyte-sundial-airbyte-bootloader
Namespace:        default
Priority:         0
Service Account:  airbyte-admin
Node:             ip-192-168-126-175.us-east-2.compute.internal/192.168.126.175
Start Time:       Thu, 13 Oct 2022 16:51:52 +0530
Labels:           <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
<http://app.kubernetes.io/managed-by=Helm|app.kubernetes.io/managed-by=Helm>
<http://app.kubernetes.io/name=airbyte-bootloader|app.kubernetes.io/name=airbyte-bootloader>
<http://app.kubernetes.io/version=0.40.14|app.kubernetes.io/version=0.40.14>
<http://helm.sh/chart=airbyte-bootloader-0.40.16|helm.sh/chart=airbyte-bootloader-0.40.16>
Annotations:      <http://helm.sh/hook|helm.sh/hook>: pre-install,pre-upgrade
<http://helm.sh/hook-weight|helm.sh/hook-weight>: 0
<http://kubernetes.io/psp|kubernetes.io/psp>: eks.privileged
Status:           Running
IP:               192.168.127.120
IPs:
IP:  192.168.127.120
Containers:
airbyte-bootloader-container:
Container ID:   <docker://fcb3a43c8c197cd4b4d8a8b9ba678b508979e4b5950732847059c134267c0f3>6
Image:          airbyte/bootloader:0.40.14
Image ID:       <docker-pullable://airbyte/bootloader@sha256:fc801768648c59efcd58ebd5344cc36d7614a28f605c08b844b101803d333363>
Port:           <none>
Host Port:      <none>
State:          Running
Started:      Thu, 13 Oct 2022 16:51:53 +0530
Ready:          True
Restart Count:  0
Environment:
AIRBYTE_VERSION:    <set to the key 'AIRBYTE_VERSION' of config map 'airbyte-sundial-airbyte-env'>    Optional: false
DATABASE_HOST:      <set to the key 'DATABASE_HOST' of config map 'airbyte-sundial-airbyte-env'>      Optional: false
DATABASE_PORT:      <set to the key 'DATABASE_PORT' of config map 'airbyte-sundial-airbyte-env'>      Optional: false
DATABASE_PASSWORD:  <set to the key 'DATABASE_PASSWORD' in secret 'airbyte-sundial-airbyte-secrets'>  Optional: false
DATABASE_URL:       <set to the key 'DATABASE_URL' of config map 'airbyte-sundial-airbyte-env'>       Optional: false
DATABASE_USER:      <set to the key 'DATABASE_USER' in secret 'airbyte-sundial-airbyte-secrets'>      Optional: false
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r4qhr (ro)
Conditions:
Type              Status
Initialized       True
Ready             True
ContainersReady   True
PodScheduled      True
Volumes:
kube-api-access-r4qhr:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:       <nil>
DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 <http://node.kubernetes.io/not-ready:NoExecute|node.kubernetes.io/not-ready:NoExecute> op=Exists for 300s
<http://node.kubernetes.io/unreachable:NoExecute|node.kubernetes.io/unreachable:NoExecute> op=Exists for 300s
Events:
Type    Reason     Age    From               Message
----    ------     ----   ----               -------
Normal  Scheduled  3m16s  default-scheduler  Successfully assigned default/airbyte-sundial-airbyte-bootloader to ip-192-168-126-175.us-east-2.compute.internal
Normal  Pulled     3m15s  kubelet            Container image "airbyte/bootloader:0.40.14" already present on machine
Normal  Created    3m15s  kubelet            Created container airbyte-bootloader-container
Normal  Started    3m15s  kubelet            Started container airbyte-bootloader-container
k
Hmm let me try to deploy it locally to see what’s wrong
s
As soon as the bootloader pod starts running, it waits and then time outs and so none of the other container gets deployed
Here is the error
client.go:629: [debug] Pod airbyte-sundial-airbyte-bootloader running
Error: INSTALLATION FAILED: failed pre-install: timed out waiting for the condition
helm.go:84: [debug] failed pre-install: timed out waiting for the condition
INSTALLATION FAILED
main.newInstallCmd.func2
<http://helm.sh/helm/v3/cmd/helm/install.go:141|helm.sh/helm/v3/cmd/helm/install.go:141>
<http://github.com/spf13/cobra.(*Command).execute|github.com/spf13/cobra.(*Command).execute>
<http://github.com/spf13/cobra@v1.5.0/command.go:872|github.com/spf13/cobra@v1.5.0/command.go:872>
<http://github.com/spf13/cobra.(*Command).ExecuteC|github.com/spf13/cobra.(*Command).ExecuteC>
<http://github.com/spf13/cobra@v1.5.0/command.go:990|github.com/spf13/cobra@v1.5.0/command.go:990>
<http://github.com/spf13/cobra.(*Command).Execute|github.com/spf13/cobra.(*Command).Execute>
<http://github.com/spf13/cobra@v1.5.0/command.go:918|github.com/spf13/cobra@v1.5.0/command.go:918>
main.main
<http://helm.sh/helm/v3/cmd/helm/helm.go:83|helm.sh/helm/v3/cmd/helm/helm.go:83>
runtime.main
runtime/proc.go:250
runtime.goexit
runtime/asm_arm64.s:1172
k
Probably something wrong with connection to database
s
even though chart is all default and i made no change to default values
k
Hmm strange, my release deployed without any issues on empty cluster(docker-desktop)
image.png
s
Can there be an issue with EKS cluster?
The thing runs on local for me too, but not getting deployed on EKS cluster
k
Hmm
Can you describe statefulsets?
kubectl describe statefulset airbyte-db airbyte-minio
s
Copy code
kubectl describe statefulset airbyte-db airbyte-minio                                                                                                                                                                                    ─╯
Name:               airbyte-db
Namespace:          default
CreationTimestamp:  Thu, 13 Oct 2022 17:45:56 +0530
Selector:           <http://app.kubernetes.io/instance=airbyte-sundial,app.kubernetes.io/name=airbyte-sundial-db|app.kubernetes.io/instance=airbyte-sundial,app.kubernetes.io/name=airbyte-sundial-db>
Labels:             <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
                    <http://app.kubernetes.io/managed-by=Helm|app.kubernetes.io/managed-by=Helm>
                    <http://app.kubernetes.io/name=airbyte-sundial-db|app.kubernetes.io/name=airbyte-sundial-db>
                    <http://app.kubernetes.io/version=0.40.14|app.kubernetes.io/version=0.40.14>
                    <http://helm.sh/chart=airbyte-0.45.3|helm.sh/chart=airbyte-0.45.3>
Annotations:        <http://helm.sh/hook|helm.sh/hook>: pre-install,pre-upgrade
                    <http://helm.sh/hook-weight|helm.sh/hook-weight>: -1
Replicas:           1 desired | 1 total
Update Strategy:    RollingUpdate
  Partition:        0
Pods Status:        0 Running / 1 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
           <http://app.kubernetes.io/name=airbyte-sundial-db|app.kubernetes.io/name=airbyte-sundial-db>
  Containers:
   airbyte-db-container:
    Image:      airbyte/db:a03509b
    Port:       5432/TCP
    Host Port:  0/TCP
    Environment:
      POSTGRES_DB:        db-airbyte
      POSTGRES_PASSWORD:  airbyte
      POSTGRES_USER:      airbyte
      PGDATA:             /var/lib/postgresql/data/pgdata
    Mounts:
      /var/lib/postgresql/data from airbyte-volume-db (rw)
  Volumes:  <none>
Volume Claims:
  Name:          airbyte-volume-db
  StorageClass:
  Labels:        <none>
  Annotations:   <none>
  Capacity:      500Mi
  Access Modes:  [ReadWriteOnce]
Events:
  Type    Reason            Age   From                    Message
  ----    ------            ----  ----                    -------
  Normal  SuccessfulCreate  46s   statefulset-controller  create Pod airbyte-db-0 in StatefulSet airbyte-db successful


Name:               airbyte-minio
Namespace:          default
CreationTimestamp:  Thu, 13 Oct 2022 17:46:04 +0530
Selector:           <http://app.kubernetes.io/instance=airbyte-sundial,app.kubernetes.io/name=airbyte-sundial-minio|app.kubernetes.io/instance=airbyte-sundial,app.kubernetes.io/name=airbyte-sundial-minio>
Labels:             <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
                    <http://app.kubernetes.io/managed-by=Helm|app.kubernetes.io/managed-by=Helm>
                    <http://app.kubernetes.io/name=airbyte-sundial-minio|app.kubernetes.io/name=airbyte-sundial-minio>
                    <http://app.kubernetes.io/version=0.40.14|app.kubernetes.io/version=0.40.14>
                    <http://helm.sh/chart=airbyte-0.45.3|helm.sh/chart=airbyte-0.45.3>
Annotations:        <http://helm.sh/hook|helm.sh/hook>: pre-install,pre-upgrade
                    <http://helm.sh/hook-weight|helm.sh/hook-weight>: -1
Replicas:           1 desired | 1 total
Update Strategy:    RollingUpdate
  Partition:        0
Pods Status:        0 Running / 1 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:  <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
           <http://app.kubernetes.io/name=airbyte-sundial-minio|app.kubernetes.io/name=airbyte-sundial-minio>
  Containers:
   airbyte-minio:
    Image:      minio/minio:latest
    Port:       9000/TCP
    Host Port:  0/TCP
    Args:
      server
      /storage
    Environment:
      MINIO_ROOT_USER:      minio
      MINIO_ROOT_PASSWORD:  minio123
    Mounts:
      /data from airbyte-minio-pv-claim (rw)
  Volumes:  <none>
Volume Claims:
  Name:          airbyte-minio-pv-claim
  StorageClass:
  Labels:        <none>
  Annotations:   <none>
  Capacity:      500Mi
  Access Modes:  [ReadWriteOnce]
Events:
  Type    Reason            Age   From                    Message
  ----    ------            ----  ----                    -------
  Normal  SuccessfulCreate  38s   statefulset-controller  create Pod airbyte-minio-0 in StatefulSet airbyte-minio successful
It stays in a pending state after helm install fails
k
kubectl describe po airbyte-db-0 airbyte-minio-0
s
Copy code
Name:             airbyte-db-0
Namespace:        default
Priority:         0
Service Account:  default
Node:             <none>
Labels:           <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
                  <http://app.kubernetes.io/name=airbyte-sundial-db|app.kubernetes.io/name=airbyte-sundial-db>
                  controller-revision-hash=airbyte-db-57c9cd4c9b
                  <http://statefulset.kubernetes.io/pod-name=airbyte-db-0|statefulset.kubernetes.io/pod-name=airbyte-db-0>
Annotations:      <http://kubernetes.io/psp|kubernetes.io/psp>: eks.privileged
Status:           Pending
IP:
IPs:              <none>
Controlled By:    StatefulSet/airbyte-db
Containers:
  airbyte-db-container:
    Image:      airbyte/db:a03509b
    Port:       5432/TCP
    Host Port:  0/TCP
    Environment:
      POSTGRES_DB:        db-airbyte
      POSTGRES_PASSWORD:  airbyte
      POSTGRES_USER:      airbyte
      PGDATA:             /var/lib/postgresql/data/pgdata
    Mounts:
      /var/lib/postgresql/data from airbyte-volume-db (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jnmgv (ro)
Volumes:
  airbyte-volume-db:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  airbyte-volume-db-airbyte-db-0
    ReadOnly:   false
  kube-api-access-jnmgv:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 <http://node.kubernetes.io/not-ready:NoExecute|node.kubernetes.io/not-ready:NoExecute> op=Exists for 300s
                             <http://node.kubernetes.io/unreachable:NoExecute|node.kubernetes.io/unreachable:NoExecute> op=Exists for 300s
Events:                      <none>


Name:             airbyte-minio-0
Namespace:        default
Priority:         0
Service Account:  default
Node:             <none>
Labels:           <http://app.kubernetes.io/instance=airbyte-sundial|app.kubernetes.io/instance=airbyte-sundial>
                  <http://app.kubernetes.io/name=airbyte-sundial-minio|app.kubernetes.io/name=airbyte-sundial-minio>
                  controller-revision-hash=airbyte-minio-655c785f54
                  <http://statefulset.kubernetes.io/pod-name=airbyte-minio-0|statefulset.kubernetes.io/pod-name=airbyte-minio-0>
Annotations:      <http://kubernetes.io/psp|kubernetes.io/psp>: eks.privileged
Status:           Pending
IP:
IPs:              <none>
Controlled By:    StatefulSet/airbyte-minio
Containers:
  airbyte-minio:
    Image:      minio/minio:latest
    Port:       9000/TCP
    Host Port:  0/TCP
    Args:
      server
      /storage
    Environment:
      MINIO_ROOT_USER:      minio
      MINIO_ROOT_PASSWORD:  minio123
    Mounts:
      /data from airbyte-minio-pv-claim (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-k2x5v (ro)
Volumes:
  airbyte-minio-pv-claim:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  airbyte-minio-pv-claim-airbyte-minio-0
    ReadOnly:   false
  kube-api-access-k2x5v:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 <http://node.kubernetes.io/not-ready:NoExecute|node.kubernetes.io/not-ready:NoExecute> op=Exists for 300s
                             <http://node.kubernetes.io/unreachable:NoExecute|node.kubernetes.io/unreachable:NoExecute> op=Exists for 300s
Events:                      <none>
k
Hmm strange that Events field is empty…
oh ok, it’s same for me
Can you try to install chart using
helm upgrade --install
command? with --debug
And what cluster type are you using?
EC2 or Fargate?
s
EC2
k
I see, if you want we can try to go and have a small slack huddle call in an hour or so. Right now we got and air raid alert so better get goin to shelter
s
Alright man, be safe. Let me know when available
This is the result for helm upgrade
Copy code
history.go:56: [debug] getting history for release airbyte-sundial
upgrade.go:142: [debug] preparing upgrade for airbyte-sundial
upgrade.go:150: [debug] performing update for airbyte-sundial
upgrade.go:322: [debug] creating upgraded release for airbyte-sundial
client.go:310: [debug] Starting delete for "airbyte-admin" ServiceAccount
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-db" StatefulSet
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-db-svc" Service
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-minio" StatefulSet
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-minio-svc" Service
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-sundial-airbyte-env" ConfigMap
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-sundial-airbyte-secrets" Secret
client.go:128: [debug] creating 1 resource(s)
client.go:310: [debug] Starting delete for "airbyte-sundial-airbyte-bootloader" Pod
client.go:128: [debug] creating 1 resource(s)
client.go:540: [debug] Watching for changes to Pod airbyte-sundial-airbyte-bootloader with timeout of 5m0s
client.go:568: [debug] Add/Modify event for airbyte-sundial-airbyte-bootloader: ADDED
client.go:627: [debug] Pod airbyte-sundial-airbyte-bootloader pending
client.go:568: [debug] Add/Modify event for airbyte-sundial-airbyte-bootloader: MODIFIED
client.go:629: [debug] Pod airbyte-sundial-airbyte-bootloader running
upgrade.go:434: [debug] warning: Upgrade "airbyte-sundial" failed: pre-upgrade hooks failed: timed out waiting for the condition
Error: UPGRADE FAILED: pre-upgrade hooks failed: timed out waiting for the condition
helm.go:84: [debug] pre-upgrade hooks failed: timed out waiting for the condition
UPGRADE FAILED
main.newUpgradeCmd.func2
	<http://helm.sh/helm/v3/cmd/helm/upgrade.go:201|helm.sh/helm/v3/cmd/helm/upgrade.go:201>
<http://github.com/spf13/cobra.(*Command).execute|github.com/spf13/cobra.(*Command).execute>
	<http://github.com/spf13/cobra@v1.5.0/command.go:872|github.com/spf13/cobra@v1.5.0/command.go:872>
<http://github.com/spf13/cobra.(*Command).ExecuteC|github.com/spf13/cobra.(*Command).ExecuteC>
	<http://github.com/spf13/cobra@v1.5.0/command.go:990|github.com/spf13/cobra@v1.5.0/command.go:990>
<http://github.com/spf13/cobra.(*Command).Execute|github.com/spf13/cobra.(*Command).Execute>
	<http://github.com/spf13/cobra@v1.5.0/command.go:918|github.com/spf13/cobra@v1.5.0/command.go:918>
main.main
	<http://helm.sh/helm/v3/cmd/helm/helm.go:83|helm.sh/helm/v3/cmd/helm/helm.go:83>
runtime.main
	runtime/proc.go:250
runtime.goexit
	runtime/asm_arm64.s:1172
k
I’m back, is this still relevant?
s
Yesss Kyryl, still stuck on this. Can we do a huddle tomorrow if you are available?
k
Yep, sure
m
was this issue resolved? seems like i’m having the same problem. chart ver. 0.40.40 on clean/new eks cluster tried both managed and fargate
j
4 months later... I'm getting the same issue here using no values.yaml and using the latest helm chart. It works with desktop-docker but not when I deploy to EKS. Did the huddle find a root cause or workaround?
s
Can you try the latest charts to see if it helps?