diff --git a/.github/workflows/kubeadm.yml b/.github/workflows/kubeadm.yml new file mode 100644 index 0000000..2b36c65 --- /dev/null +++ b/.github/workflows/kubeadm.yml @@ -0,0 +1,49 @@ +name: Fetch Kubeadm and List Images + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + fetch-kubeadm: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set environment variables + run: | + echo "RELEASE=v1.30.5" >> $GITHUB_ENV + echo "ARCH=amd64" >> $GITHUB_ENV + echo "DOWNLOAD_DIR=${{ github.workspace }}/download" >> $GITHUB_ENV + + - name: Create download directory + run: mkdir -p $DOWNLOAD_DIR + + - name: Download kubeadm + run: | + cd $DOWNLOAD_DIR + sudo curl -L --remote-name-all https://dl.k8s.io/release/${{ env.RELEASE }}/bin/linux/${{ env.ARCH }}/kubeadm + sudo chmod +x kubeadm + + - name: List Kubernetes images with Aliyun registry mapping + run: | + cd $DOWNLOAD_DIR + ./kubeadm config images list --kubernetes-version ${{ env.RELEASE }} | awk ' + { + if ($0 ~ /registry.k8s.io\/coredns\/coredns/) { + print $0 "=" "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:" substr($0, index($0, ":") + 1) + } else { + print $0 "=" "registry.cn-hangzhou.aliyuncs.com/google_containers/" substr($0, index($0, "/") + 1) + } + }' + REPO_NAME=desktop-kubernetes + curl -s "https://hub.docker.com/v2/repositories/docker/$REPO_NAME/tags/" | \ + jq -r '.results[].name' | \ + grep "$RELEASE" | \ + awk -v repo="docker/$REPO_NAME" -v registry="registry.cn-hangzhou.aliyuncs.com/docker-containers/$REPO_NAME" \ + '{print repo ":" $1 "=" registry ":" $1}' + echo docker/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e + echo docker/desktop-storage-provisioner:v2.0=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-storage-provisioner:v2.0 diff --git a/images.properties b/images.properties index b758df3..27c214f 100644 --- a/images.properties +++ b/images.properties @@ -3,7 +3,7 @@ registry.k8s.io/kube-controller-manager:v1.30.5=registry.cn-hangzhou.aliyuncs.co registry.k8s.io/kube-scheduler:v1.30.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.30.5 registry.k8s.io/kube-proxy:v1.30.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.30.5 registry.k8s.io/kube-apiserver:v1.30.5=registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.30.5 -registry.k8s.io/etcd:3.5.12-0=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.12-0 +registry.k8s.io/etcd:3.5.15-0=registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.5.15-0 registry.k8s.io/coredns/coredns:v1.11.3=registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.3 docker/desktop-kubernetes:kubernetes-v1.30.5-cni-v1.4.0-critools-v1.29.0-cri-dockerd-v0.3.11-1-debian=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-kubernetes:kubernetes-v1.30.5-cni-v1.4.0-critools-v1.29.0-cri-dockerd-v0.3.11-1-debian docker/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e=registry.cn-hangzhou.aliyuncs.com/docker-containers/desktop-vpnkit-controller:dc331cb22850be0cdd97c84a9cfecaf44a1afb6e