-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Description
Description
I have successfully tested eCapture on my local Minikube cluster running on KVM, and it worked without any issues. However, when I attempted to run the same setup on an AWS EKS cluster, eCapture fails to work as expected.
Environment:
- Local Cluster (working): Minikube running on KVM
- Cloud Cluster (failing): AWS EKS
Problem:
The issue appears to be related to the availability of the correct SSL libraries (libssl and libcrypto) on the AWS EKS environment. Based on my understanding and troubleshooting, it seems that these libraries are either missing, not linked correctly, or located in a non-standard path on EKS, causing the failure. It's likely that the EKS environment is either missing the libraries or the paths are not correctly set, causing the failure during eCapture execution.
Expected Behavior:
eCapture should function identically on both local Minikube and AWS EKS clusters, without errors related to SSL libraries. Also it should show us the CLIENT_RANDOM save success log on the terminal.
I am expecting something like this:
Steps to Reproduce:
- Deploy eCapture on a local Minikube cluster on KVM (ensure everything is set up correctly).
- Deploy the same setup on AWS EKS.
- Observe the failure on EKS while it works fine on Minikube.
Deployment Configuration
apiVersion: v1
kind: Namespace
metadata:
name: ecap
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: ecap
namespace: ecap
spec:
selector:
matchLabels:
app: ecap
template:
metadata:
labels:
app: ecap
spec:
hostNetwork: true
hostPID: true
restartPolicy: Always
containers:
- name: ecap
image: ecapture
imagePullPolicy: Always
securityContext:
privileged: true
volumeMounts:
- name: ssl-lib
mountPath: /usr/lib/x86_64-linux-gnu/libssl.so.3
readOnly: true
- name: crypto-lib
mountPath: /usr/lib/x86_64-linux-gnu/libcrypto.so.3
readOnly: true
- name: host-proc
mountPath: /proc
- name: host-sys
mountPath: /sys
args:
- "tls"
- "-m"
- "pcapng"
- "-i"
- "eth0"
volumes:
- name: ssl-lib
hostPath:
path: /usr/lib/libssl.so.3
type: File
- name: crypto-lib
hostPath:
path: /usr/lib/libcrypto.so.3
type: File
- name: host-proc
hostPath:
path: /proc
type: Directory
- name: host-sys
hostPath:
path: /sys
type: DirectoryThis is the manifest I have used to deploy in my localminikube cluster and this same manifests is applied while changing the network-interface, the libssl and libcrypto mount path.
This is my all the libssl & libcrypto path in the amazon linux node:
$ plocate libssl.so
/host/usr/lib/x86_64-linux-gnu/libssl.so.3
/host/usr/lib64/libssl.so.3
/host/usr/lib64/libssl.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/107/fs/usr/lib/x86_64-linux-gnu/libssl.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/21/fs/usr/lib64/libssl.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/21/fs/usr/lib64/libssl.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/22/fs/usr/lib64/libssl.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/22/fs/usr/lib64/libssl.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/272/fs/usr/lib/x86_64-linux-gnu/libssl.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/672/fs/usr/lib/x86_64-linux-gnu/libssl.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/68/fs/usr/lib/x86_64-linux-gnu/libssl.so.1.1
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/89/fs/usr/lib/x86_64-linux-gnu/libssl.so.1.1
/usr/lib/x86_64-linux-gnu/libssl.so.3
$ plocate libcrypto.so
/host/usr/lib/x86_64-linux-gnu/libcrypto.so.3
/host/usr/lib64/libcrypto.so.3
/host/usr/lib64/libcrypto.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/107/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/21/fs/usr/lib64/libcrypto.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/21/fs/usr/lib64/libcrypto.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/22/fs/usr/lib64/libcrypto.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/22/fs/usr/lib64/libcrypto.so.3.2.2
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/272/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/672/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.3
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/68/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
/host/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots/89/fs/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
/usr/lib/x86_64-linux-gnu/libcrypto.so.3