【发布时间】:2022-01-15 22:28:38
【问题描述】:
我正在尝试调试我的 pod 引发 CrashLoopBackOff 错误。当我运行 decribe 命令时,我发现 Back-off restarting failed container 是错误。我为失败的 pod 执行了日志,并得到了以下数据。
vagrant@master:~> kubectl logs pod_name
standard_init_linux.go:228: exec user process caused: exec format error
vagrant@master:/vagrant> kubectl logs -p pod_name
unable to retrieve container logs for containerd://db0f2dbd549676d8bf1026e5757ff45847c62152049b36037263f81915e948eavagrant
为什么我无法执行日志命令?
更多细节:
yaml文件如下
apiVersion: v1
kind: Service
metadata:
labels:
service: udaconnect-app
name: udaconnect-app
spec:
ports:
- name: "3000"
port: 3000
targetPort: 3000
nodePort: 30000
selector:
service: udaconnect-app
type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
service: udaconnect-app
name: udaconnect-app
spec:
replicas: 1
selector:
matchLabels:
service: udaconnect-app
template:
metadata:
labels:
service: udaconnect-app
spec:
containers:
- image: udacity/nd064-udaconnect-app:latest
name: udaconnect-app
imagePullPolicy: Always
resources:
requests:
memory: "128Mi"
cpu: "64m"
limits:
memory: "256Mi"
cpu: "256m"
restartPolicy: Always
我的流浪档案
default_box = "opensuse/Leap-15.2.x86_64"
Vagrant.configure("2") do |config|
config.vm.define "master" do |master|
master.vm.box = default_box
master.vm.hostname = "master"
master.vm.network 'private_network', ip: "192.168.0.200", virtualbox__intnet: true
master.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh", disabled: true
master.vm.network "forwarded_port", guest: 22, host: 2000 # Master Node SSH
master.vm.network "forwarded_port", guest: 6443, host: 6443 # API Access
for p in 30000..30100 # expose NodePort IP's
master.vm.network "forwarded_port", guest: p, host: p, protocol: "tcp"
end
master.vm.provider "virtualbox" do |v|
v.memory = "3072"
v.name = "master"
end
master.vm.provision "shell", inline: <<-SHELL
sudo zypper refresh
sudo zypper --non-interactive install bzip2
sudo zypper --non-interactive install etcd
sudo zypper --non-interactive install apparmor-parser
curl -sfL https://get.k3s.io | sh -
SHELL
end
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
vb.cpus = 4
end
感谢任何帮助。
【问题讨论】:
-
Kubernetes 运行的机器架构是什么?尝试在 ARM64 设备上运行为 AMD64 构建的容器时会发生类似错误。
-
用不同的方式重复上一条评论所说的,我认为你能够执行日志命令,并且“exec用户进程导致:exec格式错误”是日志中的内容。
-
这种错误主要是由于图像拱门和主机拱门不同(不匹配)。尝试运行
docker inspect <image>,你的镜像是amd64 arch,很可能你的host或者vagrant arch不是amd64。 -
我已经添加了我的 vagrant 文件供您参考。那么这是否意味着,我应该更换我的盒子?
-
@DavidM.Karr 是的...
标签: kubernetes containers vagrant devops kubernetes-pod