微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在树莓派上的 micro8s 集群上部署 Jenkins

如何解决在树莓派上的 micro8s 集群上部署 Jenkins

我在本地设置了三个 raspBerry pi,并遵循了 here 上的教程。 我设法让我的 microk8s 集群运行起来。接下来我想部署 Jenkins

每当我执行第一个命令时:

kubectl create -f jenkins-deployment.yaml -n jenkins

我收到以下错误

standard_init_linux.go:219: exec user process caused: exec format error

其他一些搜索建议安装 docker。但是在 tutorial 中没有关于安装 docker 的内容。知道这里发生了什么吗?

解决方法

Docker 与容器化

关于您对 docker 的建议。 From Version 1.14.0 of MicroK8s (released 25 March 2019) containerd replaced dockerd。 从 1.14.0 版本开始,containerd 自动随 MicroK8S 安装一起提供,因此,您不需要 dockerd 作为 CRI。 您可以在下面找到安装期间设置的 MicroK8S 模块: following systemd services 将在您的系统中运行:

  • snap.microk8s.daemon-apiserver,是使用 ${SNAP_DATA}/args/kube-apiserver 中的参数启动的 kube-apiserver 守护进程
  • snap.microk8s.daemon-controller-manager,是使用 ${SNAP_DATA}/args/kube-controller-manager 中的参数启动的 kube-controller-manager 守护进程
  • snap.microk8s.daemon-scheduler,是使用 ${SNAP_DATA}/args/kube-scheduler 中的参数启动的 kube-scheduler 守护进程
  • snap.microk8s.daemon-kubelet,是使用 ${SNAP_DATA}/args/kubelet 中的参数启动的 kubelet 守护进程
  • snap.microk8s.daemon-proxy,是使用 ${SNAP_DATA}/args/kube-proxy 中的参数启动的 kube-proxy 守护进程
  • snap.microk8s.daemon-containerd,是使用 ${SNAP_DATA}/args/containerd${SNAP_DATA}/args/containerd-template.toml 中的配置启动的 containerd 守护进程。
  • snap.microk8s.daemon-etcd,是使用 ${SNAP_DATA}/args/etcd 中的参数启动的 etcd 守护进程

ARM 架构

接下来是 Raspberry Pi,以及之前社区提到的 ARM。 您不能将基于 amd64 的常规映像用于 ARM 架构。

可能的解决方案

要解决问题,我向您推荐以下 2 个选项。

  1. 使用 Jenkins for ARM architecture 的已经准备好的基于 ARM 的映像。您也可以使用过滤器搜索 Raspberry Pi 的图像。只需选择您要使用的架构:ARM、ARM64 等。

一些图像已被移植到其他架构中,其中许多都得到官方支持(在不同程度上)。

ARMv6 32 位 (arm32v6):https://hub.docker.com/u/arm32v6/

ARMv7 32 位 (arm32v7):https://hub.docker.com/u/arm32v7/

ARMv8 64 位 (arm64v8):https://hub.docker.com/u/arm64v8/

  1. 使用 buildx
  2. 为 ARM 准备自己的映像

参考文献:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。