前言
以下所有命令基于CentOS7.9系统,官方参考文档:==>
文章最后附有一键安装的脚本,可以直接运行脚本进行安装
下载安装文件
1. 下载最新发行版
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
2.下载指定版本
将上面命令中的$(curl -L -s https://dl.k8s.io/release/stable.txt)替换为对应版本即可,以v1.27.0为示例
curl -LO https://dl.k8s.io/release/v1.27.0/bin/linux/amd64/kubectl
以下内容基于最新版本安装,以上命令执行后会下载对应的文件
验证可执行文件 (该步骤可以跳过)
下载校验和文件
校验和文件需要和下载的kubectl安装文件版本保持一致,否则验证会失败,如果需要下载指定版本同样将$(curl -L -s https://dl.k8s.io/release/stable.txt)替换为对应版本即可
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
以上命令执行结果
验证可执行文件
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
验证成功输出以下内容
如果验证失败 sha256
将以非零值退出,并打印如下输出:
kubectl: FAILED
sha256sum: WARNING: 1 computed checksum did NOT match
安装kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
如果没有root权限也可以将kubectl文件复制到指定目录中,然后配置环境变量即可,以下以安装到/home目录为例
chmod +x kubectl
mkdir -p /home/kubectl
mv ./kubectl /home/kubectl/
# 添加环境变量
echo -e "\n# kubectl配置" >> /etc/profile.d/my_env.sh
echo "KUBECTL_HOME=/home/kubectl" >> /etc/profile.d/my_env.sh
echo "export PATH=\$KUBECTL_HOME:\$PATH" >> /etc/profile.d/my_env.sh
# 刷新环境变量
source /etc/profile
验证安装结果
kubectl version --client
输出以下内容代表安装成功
一键安装脚本
以下是一键安装kubectl的脚本,如果要安装指定版本的kubectl只需要将脚本中的$(curl -L -s https://dl.k8s.io/release/stable.txt)替换为指定版本即可
参数说明
$1:可选参数,文件下载的位置,默认在当前所在的文件夹
$2:可选参数,文件安装的位置,不传默认安装在/usr/local/bin目录下
脚本内容
#!/bin/bash
k_path=`pwd`
install_path=`pwd`
if [ -n "$1" ];then
k_path=$(cd $1 && pwd)
fi
if [ -n "$2" ];then
install_path=$(cd $2 && pwd)
fi
# 下载安装文件
cd $k_path && { curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" ; cd -; }
# 下载校验和文件
cd $k_path && { curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" ; cd -; }
# 校验可执行文件
chmod +x $k_path/kubectl
echo "$(cat $k_path/kubectl.sha256) $k_path/kubectl" | sha256sum --check
if [ $? != 0 ];then
echo "================安装文件校验失败==================="
exit 1
fi
# 安装kubectl
# 是否指定安装路径
if [ -z $2 ];then
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
else
mv $k_path/kubectl $install_path/kubectl
# 添加环境变量
echo -e "\n# kubectl配置" >> /etc/profile.d/my_env.sh
echo "KUBECTL_HOME=$install_path" >> /etc/profile.d/my_env.sh
echo "export PATH=\$KUBECTL_HOME:\$PATH" >> /etc/profile.d/my_env.sh
# 刷新环境变量
source /etc/profile
fi
# 校验是否安装成功
kubectl version --client
if [ $? != 0 ];then
echo "kubectl安装失败"
fi
# 删除下载的文件
rm -f $k_path/kubectl
rm -f $k_path/kubectl.sha256
结束
以上是安装kubectl的全部过程,如有问题欢迎随时交流