kata-deploy: Switch to using an ubuntu image

Let's make sure we use a multi-arch image for building kata-deploy.
A few changes were also added in order to get systemd working inside the
kata-deploy image, due to the switch from CentOS to Ubuntu.

Fixes: #6358
Signed-off-by: SinghWang <wangxin_0611@126.com>
This commit is contained in:
SinghWang 2023-02-23 17:07:40 +08:00 committed by Fabiano Fidêncio
parent 93a40cb35e
commit cd2aaeda2a
3 changed files with 23 additions and 24 deletions

View File

@ -3,28 +3,27 @@
# SPDX-License-Identifier: Apache-2.0
# Specify alternative base image, e.g. clefos for s390x
ARG BASE_IMAGE_NAME=registry.centos.org/centos
ARG BASE_IMAGE_TAG=7
ARG BASE_IMAGE_NAME=ubuntu
ARG BASE_IMAGE_TAG=20.04
FROM $BASE_IMAGE_NAME:$BASE_IMAGE_TAG
ENV DEBIAN_FRONTEND=noninteractive
ARG KATA_ARTIFACTS=./kata-static.tar.xz
ARG DESTINATION=/opt/kata-artifacts
COPY ${KATA_ARTIFACTS} ${WORKDIR}
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN \
yum -y update && \
yum -y install xz && \
yum clean all && \
apt-get update && \
apt-get install -y --no-install-recommends apt-transport-https ca-certificates curl xz-utils systemd && \
mkdir -p /etc/apt/keyrings/ && \
curl -fsSLo /etc/apt/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | tee /etc/apt/sources.list.d/kubernetes.list && \
apt-get update && \
apt-get install -y --no-install-recommends kubectl && \
apt-get clean && rm -rf /var/lib/apt/lists/ && \
mkdir -p ${DESTINATION} && \
tar xvf ${KATA_ARTIFACTS} -C ${DESTINATION}
# hadolint will deny echo -e, heredocs don't work in Dockerfiles, shell substitution doesn't work with $'...'
RUN \
echo "[kubernetes]" >> /etc/yum.repos.d/kubernetes.repo && \
echo "name=Kubernetes" >> /etc/yum.repos.d/kubernetes.repo && \
echo "baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$(uname -m)" >> /etc/yum.repos.d/kubernetes.repo && \
echo "gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg" >> /etc/yum.repos.d/kubernetes.repo && \
yum -y install kubectl && \
yum clean all
COPY scripts ${DESTINATION}/scripts

View File

@ -27,19 +27,19 @@ spec:
fieldRef:
fieldPath: spec.nodeName
securityContext:
privileged: false
privileged: true
volumeMounts:
- name: dbus
mountPath: /var/run/dbus
mountPath: /var/run/dbus/system_bus_socket
- name: systemd
mountPath: /run/systemd
mountPath: /run/systemd/system
volumes:
- name: dbus
hostPath:
path: /var/run/dbus
path: /var/run/dbus/system_bus_socket
- name: systemd
hostPath:
path: /run/systemd
path: /run/systemd/system
updateStrategy:
rollingUpdate:
maxUnavailable: 1

View File

@ -29,7 +29,7 @@ spec:
fieldRef:
fieldPath: spec.nodeName
securityContext:
privileged: false
privileged: true
volumeMounts:
- name: crio-conf
mountPath: /etc/crio/
@ -38,9 +38,9 @@ spec:
- name: kata-artifacts
mountPath: /opt/kata/
- name: dbus
mountPath: /var/run/dbus
mountPath: /var/run/dbus/system_bus_socket
- name: systemd
mountPath: /run/systemd
mountPath: /run/systemd/system
- name: local-bin
mountPath: /usr/local/bin/
volumes:
@ -56,10 +56,10 @@ spec:
type: DirectoryOrCreate
- name: dbus
hostPath:
path: /var/run/dbus
path: /var/run/dbus/system_bus_socket
- name: systemd
hostPath:
path: /run/systemd
path: /run/systemd/system
- name: local-bin
hostPath:
path: /usr/local/bin/