Title
Create new category
Edit page index title
Edit category
Edit link
Troubleshooting Containers
Kubernetes
How to check the logs with Kubectl
In case the md-icapsrv pod does not initialize we need to check the pod logs to see why is failing
The worker node running the md-icapsrv pod doesn’t have enough resources allocated for the pod. (Pending state)
Provide the License Key in file values.yml if not provided the health check will fail as the container cannot be activated
Need to set value ACCEPT_EULA is true if the application can not start with reason accept EULA.
If you have enabled TLS to need to uncomment
scheme: HTTPSin health check. The key of the secret need to mapping with the field .certSecretSubPath and .certKeySecretSubPath
Start a Bash session
Find the MetaDefenteder ICAP Server pod with the command

→ pod name: md-icapsrv-77c4654f4b-bkclc
→ namespace: default
Start a Bash session
Default container name when you use MetaDefender ICAP Server’s Helm chart is md-icapsrv
Collect support packages
There are two different support packages that can be generated.
Support package from local machine
Support package with script within the pod
Support package from local machine
This is the easiest way to have a first idea of what could be happening in the environment. It will collect
Logs from running pods
Logs from previous pods
Configmap
To run this script from your local machine please see metadefender-k8s/troubleshooting at main · OPSWAT/metadefender-k8s
Support package with script within the pod
After accessing to the bash of the container. To create a package you must start the script found under
As the script processes the necessary information, the script generates the support package output.
The package file is a tar.gz archive with the following name:
Where the timestamp was the date when the package was generated.
Example:
The generated package will be placed in the same location as the script that was called.
If you run container with read-only file system mode or non-root user make sure you have write permission to the working directory when you execute collect support packages script
Copy the support package from the container to outside
Use kubectl cp Kubectl Reference Docs (kubernetes.io)
Example:
Docker
Collect logs
You can collect the logs of the container running
Collect support package
Start a Bash session
Find the CONTAINER ID by command
E.g: the container ID = d1769cb64afe

Start a Bash session with the command docker exec -it <container id> bash
Support package with script within the pod
To create a package you must start the script found under
As the script processes the necessary information, the script generates the support package output.
The package file is a tar.gz archive with the following name:
Where the timestamp was the date when the package was generated.
Example:
The generated package will be placed in the same location as the script that was called.
If you run container with read-only file system mode or non-root user make sure you have write permission to the working directory when you execute collect support packages script
Copy the support package from the container to outside
Docker
Use docker cp | Docker Documentation docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
Example: