Конечно, сначала используйте kubectl get pod | grep YOUR_DEPLOYMENT_NAME
, чтобы получить идентификатор капсулы. Затем используйте kubectl exec -it POD_UID bash/sh/whatever
для входа в модуль. Обратите внимание, что ваш контейнер может не принимать bash, поэтому вам может потребоваться изменить его на sh.
Однако, как показывает ваш комментарий, изображение может не иметь оболочки (я никогда не слышал о ней, но мы все еще можем ее решить). Для этого вы можете добавить еще один контейнер в ваш модуль , который будет использовать файловую систему, сеть и т. Д. Это позволит вам отлаживать ваш основной контейнер. Используйте kubectl exec -it $YOUR_POD_UID -c $CONTAINER_NAME alpine sh
, чтобы войти в контейнер отладки. Вот ямл на тот случай, если вам это нужно.
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: default
name: alpine
labels:
app: alpine
spec:
replicas: 1
selector:
matchLabels:
app: alpine
template:
metadata:
creationTimestamp: null
labels:
app: alpine
spec:
containers:
# Your container.
- name: your_container_without_shell
image: container_without_shell:latest
# Sidecar container.
- name: alpine
image: alpine:latest
command: ["/bin/sleep", "1000000"] # let's say it dies eventually.
hostname: alpine
restartPolicy: Always