在 kubernetes 集群上创建作业时出错
Error making a job on a kubernetes cluster
我正在尝试做一个在 pod 上运行 sysbench 的工作。首先,我使用下一个 yaml 完成工作:
apiVersion: batch/v1
kind: Job
metadata:
name: sysbench-prepare
spec:
template:
metadata:
name: sysbench-prepare
spec:
containers:
- name: sysbench-prepare
image: severalnines/sysbench
command:
- sysbench
- --db-driver=mysql
- --oltp-table-size=100000
- --oltp-tables-count=24
- --threads=1
- --mysql-host=localhost
- --mysql-port=3306
- --mysql-user=sbtest
- --mysql-password=password
- /usr/share/sysbench/tests/include/oltp_legacy/parallel_prepare.lua
- run
restartPolicy: Never
显然创建没有问题
pi@k8s-master-rasp4:~ $ kubectl get jobs
NAME COMPLETIONS DURATION AGE
sysbench-prepare 0/1 33m 33m
这是 pod 的 yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: sysbench
name: sysbench
spec:
containers:
- command:
- sysbench
- --db-driver=mysql
- --report-interval=2
- --mysql-table-engine=innodb
- --oltp-table-size=100000
- --oltp-tables-count=24
- --threads=64
- --time=99999
- --mysql-host=localhost
- --mysql-port=3306
- --mysql-user=sbtest
- --mysql-password=password
- /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua
- run
image: severalnines/sysbench
name: sysbench
restartPolicy: Never
这是创建后的状态
pi@k8s-master-rasp4:~ $ kubectl get pods
NAME READY STATUS RESTARTS AGE
sysbench 0/1 Error 0 66s
sysbench-prepare-4st28 0/1 Error 0 56s
sysbench-prepare-88kcd 0/1 Error 0 61s
sysbench-prepare-kbk5c 0/1 Error 0 46s
sysbench-prepare-zrv95 0/1 Error 0 6s
日志显示此错误:
pi@k8s-master-rasp4:~ $ kubectl logs -f sysbench
standard_init_linux.go:219: exec user process caused: exec format error
覆盆子集群上的一切都是 运行,有人知道问题出在哪里吗?感谢您的宝贵时间
您正在尝试在基于 ARM 的系统上 运行 linux/amd64 图像:本质上,错误是说不理解如何 运行 指令,因为二进制和处理器使用不同的语言。
您必须为您的架构找到兼容的 Docker 图片。
我正在尝试做一个在 pod 上运行 sysbench 的工作。首先,我使用下一个 yaml 完成工作:
apiVersion: batch/v1
kind: Job
metadata:
name: sysbench-prepare
spec:
template:
metadata:
name: sysbench-prepare
spec:
containers:
- name: sysbench-prepare
image: severalnines/sysbench
command:
- sysbench
- --db-driver=mysql
- --oltp-table-size=100000
- --oltp-tables-count=24
- --threads=1
- --mysql-host=localhost
- --mysql-port=3306
- --mysql-user=sbtest
- --mysql-password=password
- /usr/share/sysbench/tests/include/oltp_legacy/parallel_prepare.lua
- run
restartPolicy: Never
显然创建没有问题
pi@k8s-master-rasp4:~ $ kubectl get jobs
NAME COMPLETIONS DURATION AGE
sysbench-prepare 0/1 33m 33m
这是 pod 的 yaml
apiVersion: v1
kind: Pod
metadata:
labels:
app: sysbench
name: sysbench
spec:
containers:
- command:
- sysbench
- --db-driver=mysql
- --report-interval=2
- --mysql-table-engine=innodb
- --oltp-table-size=100000
- --oltp-tables-count=24
- --threads=64
- --time=99999
- --mysql-host=localhost
- --mysql-port=3306
- --mysql-user=sbtest
- --mysql-password=password
- /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua
- run
image: severalnines/sysbench
name: sysbench
restartPolicy: Never
这是创建后的状态
pi@k8s-master-rasp4:~ $ kubectl get pods
NAME READY STATUS RESTARTS AGE
sysbench 0/1 Error 0 66s
sysbench-prepare-4st28 0/1 Error 0 56s
sysbench-prepare-88kcd 0/1 Error 0 61s
sysbench-prepare-kbk5c 0/1 Error 0 46s
sysbench-prepare-zrv95 0/1 Error 0 6s
日志显示此错误:
pi@k8s-master-rasp4:~ $ kubectl logs -f sysbench
standard_init_linux.go:219: exec user process caused: exec format error
覆盆子集群上的一切都是 运行,有人知道问题出在哪里吗?感谢您的宝贵时间
您正在尝试在基于 ARM 的系统上 运行 linux/amd64 图像:本质上,错误是说不理解如何 运行 指令,因为二进制和处理器使用不同的语言。
您必须为您的架构找到兼容的 Docker 图片。