在 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 图片。