From 21836c4d7c7909d07c15ec8e591fa77dd83405a5 Mon Sep 17 00:00:00 2001 From: shenlan Date: Sun, 14 Sep 2025 17:03:41 +0800 Subject: [PATCH] Fix k3s arm64 binary in offline installer --- .../workflows/offline-package-k3s-installer.yaml | 14 +++++++++++++- scripts/make_k3s_offline_package.sh | 6 +++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/offline-package-k3s-installer.yaml b/.github/workflows/offline-package-k3s-installer.yaml index 7f7f93f..d4bbda1 100644 --- a/.github/workflows/offline-package-k3s-installer.yaml +++ b/.github/workflows/offline-package-k3s-installer.yaml @@ -76,7 +76,7 @@ jobs: needs: build-k3s-installer strategy: matrix: - arch: [amd64] + arch: [amd64, arm64] runs-on: ubuntu-latest steps: @@ -91,7 +91,19 @@ jobs: cd test-dir tar -xzvf offline-package-k3s-installer-${{ matrix.arch }}.tar.gz + - name: Verify k3s binary arch + run: | + set -euo pipefail + BIN="test-dir/k3s-offline-package/bin/k3s-${{ matrix.arch }}" + file "$BIN" + if [ "${{ matrix.arch }}" = "amd64" ]; then + file "$BIN" | grep -q 'x86-64' + else + file "$BIN" | grep -q 'aarch64' + fi + - name: Setup K3s and Test + if: matrix.arch == 'amd64' run: | cd test-dir/k3s-offline-package bash install-server.sh diff --git a/scripts/make_k3s_offline_package.sh b/scripts/make_k3s_offline_package.sh index 35e1222..079264b 100644 --- a/scripts/make_k3s_offline_package.sh +++ b/scripts/make_k3s_offline_package.sh @@ -285,7 +285,11 @@ rm -rf "${BASE_DIR}" mkdir -p "${BASE_DIR}/"{bin,images,cni-plugins,addons,registry/docker.io,registry/ghcr.io,install} # 核心二进制 -download "${K3S_URL_BASE}/k3s" "${BASE_DIR}/bin/k3s-${ARCH}" +K3S_BIN="k3s" +if [[ "${ARCH}" != "amd64" ]]; then + K3S_BIN="k3s-${ARCH}" +fi +download "${K3S_URL_BASE}/${K3S_BIN}" "${BASE_DIR}/bin/k3s-${ARCH}" chmod +x "${BASE_DIR}/bin/k3s-${ARCH}" download "https://dl.k8s.io/release/${KUBECTL_VERSION}/bin/linux/${ARCH}/kubectl" "${BASE_DIR}/bin/kubectl-${ARCH}"