首页 > 其他分享 >k8s及其基本组件下载

k8s及其基本组件下载

时间:2023-10-30 18:45:41浏览次数:105  
标签:name kubernetes download version releases file 组件 k8s 下载

k8s_install.sh

!/usr/bin/env bash

set -e

get_version() {
containerd_version="v1.7.7"
runc_version="v1.1.9"
cni_version="v1.3.0"
cri_tools_version="v1.27.1"
kubernetes_version="v1.27.7"
kubernetes_release_version="v0.15.1"
}

install_jq() {

jq_tag="$(curl https://api.github.com/repos/stedolan/jq/releases/latest | grep ' "tag_name": ' | awk -F'"' '{print $4}')"

jq_tag="$(curl https://api.github.com/repos/jqlang/jq/releases/latest | grep ' "tag_name": ' | awk -F'"' '{print $4}')"

wget "https://github.com/stedolan/jq/releases/download/${jq_tag}/jq-linux-amd64" -O "/usr/local/bin/jq"

wget "https://github.com/jqlang/jq/releases/download/${jq_tag}/jq-linux-amd64" -O "/usr/local/bin/jq"
chmod +x /usr/local/bin/jq
}

download_containerd() {
file_name="cri-containerd-cni-${containerd_version:1}-linux-amd64.tar.gz"
if [ ! -f "${file_name}" ]; then
wget https://github.com/containerd/containerd/releases/download/"${containerd_version}"/"${file_name}"{,.sha256sum}
fi
sha256sum --check "${file_name}.sha256sum"

file_name="containerd-${containerd_version:1}-linux-amd64.tar.gz"

if [ ! -f "${file_name}" ]; then

wget https://github.com/containerd/containerd/releases/download/"${containerd_version}"/"${file_name}"

fi

sha256sum --check "${save_path}/${file_name}.sha256sum" || exit 1

}

download_runc() {
file_name="runc.amd64"
if [ ! -f "${file_name}" ]; then
wget https://github.com/opencontainers/runc/releases/download/"${runc_version}"/"${file_name}"
wget https://github.com/opencontainers/runc/releases/download/"${runc_version}"/runc.sha256sum
fi
cat "runc.sha256sum" | grep "${file_name}" | sha256sum --check
}

download_cni() {
file_name="cni-plugins-linux-amd64-${cni_version}.tgz"
if [ ! -f "${file_name}" ]; then
wget https://github.com/containernetworking/plugins/releases/download/"${cni_version}"/"${file_name}"{,.sha256}
fi
sha256sum --check "${file_name}.sha256"
}

download_cri_tools() {
file_name="crictl-${cri_tools_version}-linux-amd64.tar.gz"
if [ ! -f "${file_name}" ]; then
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/"${cri_tools_version}"/"${file_name}"{,.sha256}
fi
echo "$(cat ${file_name}.sha256) ${file_name}" | sha256sum --check
file_name="critest-${cri_tools_version}-linux-amd64.tar.gz"
if [ ! -f "${file_name}" ]; then
wget https://github.com/kubernetes-sigs/cri-tools/releases/download/"${cri_tools_version}"/"${file_name}"{,.sha256}
fi
echo "$(cat ${file_name}.sha256) ${file_name}" | sha256sum --check
}

download_k8s() {
file_name="kubeadm"
if [ ! -f "${file_name}" ]; then
wget https://storage.googleapis.com/kubernetes-release/release/${kubernetes_version}/bin/linux/amd64/"${file_name}"{,.sha256}
fi
echo "$(cat ${file_name}.sha256) ${file_name}" | sha256sum --check

file_name="kubelet"
if [ ! -f "${file_name}" ]; then
wget https://storage.googleapis.com/kubernetes-release/release/${kubernetes_version}/bin/linux/amd64/"${file_name}"{,.sha256}
fi
echo "$(cat ${file_name}.sha256) ${file_name}" | sha256sum --check

file_name="kubectl"
if [ ! -f "${file_name}" ]; then
wget https://storage.googleapis.com/kubernetes-release/release/${kubernetes_version}/bin/linux/amd64/"${file_name}"{,.sha256}
fi
echo "$(cat ${file_name}.sha256) ${file_name}" | sha256sum --check

if [ -f /etc/debian_version ]; then
if [ ! -f kubelet.service ]; then
wget "https://raw.githubusercontent.com/kubernetes/release/${kubernetes_release_version}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service"
fi
if [ ! -f 10-kubeadm.conf ]; then
wget "https://raw.githubusercontent.com/kubernetes/release/${kubernetes_release_version}/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf"
fi

elif [ -f /etc/redhat-release ]; then
if [ ! -f kubelet.service ]; then
wget "https://raw.githubusercontent.com/kubernetes/release/${kubernetes_release_version}/cmd/kubepkg/templates/latest/rpm/kubelet/kubelet.service"
fi

if [ ! -f 10-kubeadm.conf ]; then
  wget "https://raw.githubusercontent.com/kubernetes/release/${kubernetes_release_version}/cmd/kubepkg/templates/latest/rpm/kubeadm/10-kubeadm.conf"
fi

else
echo "ERROR: no deb or rpm."
exit 1
fi
}

save_k8s_images() {
k8s_images="k8s-${kubernetes_version}.tar"
if [ ! -f "${k8s_images}" ]; then
chmod +x kubeadm
kubeadm="./kubeadm"
${kubeadm} config images pull
ctr -n k8s.io images export "${k8s_images}" $("${kubeadm}" config images list | tr '\n' ' ')
fi
}

main() {
base_path=$(
cd "$(dirname "$0")"
pwd
)

which curl >/dev/null 2>&1 || (
echo 'no curl command.'
exit 1
)

which jq || install_jq

if [ ! -f "${base_path}/releases" ]; then
get_version
echo "containerd_version=${containerd_version}" >>${base_path}/releases
echo "runc_version=${runc_version}" >>${base_path}/releases
echo "cni_version=${cni_version}" >>${base_path}/releases
echo "cri_tools_version=${cri_tools_version}" >>${base_path}/releases
echo "kubernetes_version=${kubernetes_version}" >>${base_path}/releases
echo "kubernetes_release_version=${kubernetes_release_version}" >>${base_path}/releases
else
. ${base_path}/releases
fi

mkdir -p ${base_path}/resources
cd ${base_path}/resources
download_containerd
download_runc
download_cni
download_cri_tools
download_k8s
save_k8s_images
}

main

标签:name,kubernetes,download,version,releases,file,组件,k8s,下载
From: https://www.cnblogs.com/xwjh/p/17798538.html

相关文章

  • k8s及其基本插件安装
    k8s_install.sh#!/bin/bashset-emaster1="10.1.1.60"master2="10.1.1.61"master3="10.1.1.62"containerd_version=v1.7.7runc_version=v1.1.9cni_version=v1.3.0cri_tools_version=v1.27.1kubernetes_version=v1.27.7kubernete......
  • 34-Vue脚手架-组件的自定义事件(使用自定义事件优化Todo-List案例)
    组件的自定义事件1.一种组件间通信的方式,适用于子组件===>父组件(这里也可以使用props传递数据进行实现)2.使用场景:A是父组件,B是子组件,B想给A传数据,那么就要在A中给B绑定自定义事件(事件的回调在A中)3.绑定自定义事件:1)第一种方式,在父组件中<!--通过父组件给子组件绑定一个......
  • 【Java 进阶篇】深入了解 Bootstrap 组件
    Bootstrap是一个流行的前端框架,提供了丰富的组件,用于创建各种网页元素和交互效果。这些组件可以帮助开发者轻松构建漂亮、响应式的网页,而无需深入的前端开发知识。在本文中,我们将深入探讨Bootstrap中一些常用的组件,适合初学者,帮助他们更好地理解和应用这些元素。什么是Bootstra......
  • K8s:Pod 中 command、args 与 Dockerfile 中 CMD、 ENTRYPOINT 的对应关系
    写在前面前几天被问到,这里整理笔记之前也没怎么注意这个问题理解不足小伙伴帮忙指正曾以为老去是很遥远的事,突然发现年轻是很久以前的事了。时光好不经用,抬眼已是半生,所谓的中年危机,真正让人焦虑的不是孤单、不是贫穷、更不是衰老,而是人到中年你才发现,你从来没有按照自己喜欢的方......
  • 四、基本组件
    1.Designer设计师Designer程序是Qt官方推出的专为设计人员使用的UI设计工具,程序员可以使用此工具大幅降低UI设计的代码量。Designer设计文件的格式是.ui,需要配合同名的头文件与源文件使用。.ui文件通常被称为界面文件,其内部是xml语法的代码。当新建项目时,选中选项,此时的项目就会......
  • kernel-devel下载地址
    https://ftp.sjtu.edu.cn/sites/ftp.scientificlinux.org/linux/scientific/7.9/x86_64/os/Packages/rpm-ivhxxx.rpm#yuminstallgcc#yuminstallgcc-c++......
  • Hadoop三大组件(HDFS,MapReduce,Yarn)
    1、HDFSHDFS是Hadoop分布式文件系统。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。2、MapReduceMapReduce是一个软件框架,基于该框架能够容易地编写......
  • vant DropdownMenu 下拉菜单组件穿透问题
    问题描述:在微信小程序中使用Vant组件库提供的DropdownMenu下拉菜单组件时,当内容超过一定高度时,随着页面内容部分的滚动,顶部会出现部分间隙,继续划动会导致底层页面的滚动,这就是滚动穿透。解决方案(禁止滚动穿透)DropdownMenu下拉菜单组件内部结合了Popup弹出层组件。目前,Popup组件......
  • k8s1.26.5 安装 flink1.17.1
    标签(空格分隔):kubernetes系列一:系统环境介绍系统:centos7.9x64k8s集群版本:k8s1.26.5采用kubesphere做页面caclico版本:calicov3.26.1containerd版本:containerd://1.6.24hadoop版本:hadoop3.3.6helm版本:helm3.9.0二:编译得到fl......
  • Vue2 实现印章徽章组件
    Vue2实现印章徽章组件需要实现的组件效果:该组件有设置颜色、大小、旋转度数和文本内容功能。一、组件实现代码<template><divclass="first-ring"v-bind="getBindValue":class="getStampBadgeClass":style="{transform:`rotate(${rotate}deg)`}&qu......