Linux安装kubectl

news2024/9/20 10:29:37

前言

以下所有命令基于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的全部过程,如有问题欢迎随时交流

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/467939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C嘎嘎~~[类 中篇]

类 中篇 6.类的实例化7.类对象模型8.this指针8.1this指针是什么8.2this指针的特性 6.类的实例化 什么叫类的 实例化?? 首先, 我们应该关注这个"实" — 实际存在的, 它的反义词是 “虚” — 不存在的. > 类中的成员变量是虚的(相当于声明), 在类外面创建的对象是…

《程序员面试金典(第6版)》面试题 16.06. 最小差(双指针,pair数据结构)

题目描述 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 示例: 输入:{1, 3, 15, 11, 2}, {23, 127, 235, 19, 8}输出:3,即数值对(…

Power BI动态日期轴方法总结

趋势,应该是我们做可视化时最熟悉的一个词了,看趋势自然离不开日期,年度趋势,月趋势,周趋势等等。Power BI中我们可以借助于计算表,计算组,字段参数来实现动态实时轴的效果。 计算表实现动态日…

Node.js--基础

一、Node.js是什么 Node.js is a JavaScript runtime built on Chrome’s V8 JavaScript engine. 1、特性 Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如: 文件的读写 (File System)进程的管理 …

每日一个小技巧:1分钟告诉你文字转图片的方法有哪些

在数字时代,信息传递快速便捷,但文字在传递中却显得单调乏味,难以吸引人们的眼球。为了解决这个问题,越来越多的人开始寻找方法将文字转化为图片。文字转图片不仅能够让文字更具视觉冲击力,还能够在社交媒体、广告宣传…

Nginx常见应用场景

文章目录 场景一:代理静态文件场景二:代理服务器 本教程讲述 Nginx 的常见应用场景。内容接上文:Nginx基本配置。 前提:假设我们已经安装好了 Nginx,并启动成功。 场景一:代理静态文件 Nginx 一个常用的功…

Hilt 和协程助力启动框架搭建:解决代码混乱和初始化策略问题

关于Hilt的使用,目前已经比较普及了,想必大家已经知道。今天说的是一个如何利用Hilt来做一个启动框架的故事。 是否经历过大型项目的启动优化,一遍过去无任何效果,第二遍过去好几处报错,第三遍过去启动不了&#xff0…

开放耳机有什么优缺点,列举出几款口碑不错的开放式耳机

开放式耳机是通过骨头振动传递声音,而不是通过耳道或鼓膜,因此它具有许多优势,比如可以在运动过程中保持对环境的感知,并避免对听力造成伤害。随着科技的进步和用户需求的增加,开放式耳机也在不断更新。目前市面上的开…

springboot+nodejs+vue众筹项目管理系统平台系统

筹资人(企业): 1,可以后台注册并登录,发布项目情况,众筹项目需要管理员审核通过后才能展现在前台,没有审核或者审核不通过不会在前台展示; 众筹项目包括项目名称,项目分类…

盲目自学网络安全只会成为脚本小子?

前言:我们来看看怎么学才不会成为脚本小子 一,怎么入门? 1、Web 安全相关概念(2 周) 了解网络安全相关法律法规 熟悉基本概念(SQL 注入、上传、XSS、CSRF、一句话木马等)。 通过关键字&…

springboot整合flowable的简单使用

内容来自网络整理,文章最下有引用地址,可跳转至相关资源页面。若有侵权请联系删除 环境: mysql5.7.2 springboot 2.3.9.RELEASE flowable 6.7.2 采坑: 1.当前flowable sql需要与引用的pom依赖一致,否则会报library…

管理后台项目-07-菜单管理和动态展示菜单和按钮

目录 1-菜单管理 1.1-菜单管理列表 1.2-添加|修改功能 1.3-删除菜单 2-动态菜单按钮展示 2.1-路由文件的整理 2.2-动态展示不同的路由 1-菜单管理 当用户点击菜单管理的时候,会展示当前所有菜单,树型结构展示...并且可以对菜单进行新增编辑删除操…

倾斜摄影超大场景的三维模型在网络发布应用遇到常见的问题浅析

倾斜摄影超大场景的三维模型在网络发布应用遇到常见的问题浅析 倾斜摄影超大场景的三维模型在网络发布应用时,常见的问题包括: 1、加载速度慢。由于数据量巨大,网络发布时需要将数据文件分割成多个小文件进行加载,这可能会导致页…

Sonatype Nexus兼容apk格式仓库

Sonatype Nexus兼容apk格式仓库 sonatype/nexus3 当前最新版本:sonatype/nexus3:3.52.0 查看nexus支持的仓库格式 创建一个nexus 容器: docker run -d -p 8081:8081 --name nexus sonatype/nexus3:3.52.0查看启动日志: docker logs nexu…

HTML5画布(图像)

案例1&#xff1a; <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title></title><script>window.onloadfunction(){var cdocument.getElementById("myCanvas");var cxt c.getConte…

Vue3 手把手按需引入 Echarts

背景&#xff1a;新项目采用 Vue3 作为前端项目框架&#xff0c;避免不了要使用 echarts&#xff0c;但是在使用的时候&#xff0c;出现了与 Vue2 使用不一样的地方&#xff0c;所以特别记下来&#xff0c;希望给到有需要的同学一些帮助。 下载Echarts依赖 # 自己使用的yarn y…

《Odoo开发者模式必知必会》—— 缘起

Odoo作为业界优秀的开源商务软件&#xff0c;在全球范围内拥有广泛的使用者。在领英国际&#xff0c;可以搜索到全球很多国家都有大量odoo人才需求的招聘信息。在国内&#xff0c;虽然已经有为数不少的企业&#xff0c;他们或者已经使用odoo&#xff0c;或者正在了解odoo&#…

支付宝异步通知说明

如何设置异步通知地址 不同接口接收异步通知设置方式不同&#xff0c;可查看 哪些接口支持触发异步。 设置 notify_url 接收异步 对于支付产生的交易&#xff0c;支付宝会根据原始支付 API 中传入的异步通知地址 notify_url&#xff0c;通过 POST 请求的形式将支付结果作为参…

从零开始学习CTF的完整指南

前言 想要学习CTF却不知从何开始&#xff1f;本文提供了一份完整的指南&#xff0c;从Linux系统基础、网络协议基础、二进制分析、Web安全、杂项题型以及算法与密码学等方面&#xff0c;为零基础小白提供了学习路线和知识点概述。 网络安全 网络安全是 CTF 的基础&#xff0…

还不知道怎么 Mock ,用这 6款工具

以下是几个常用的国外可以mock测试的工具&#xff0c;供参考&#xff1a; MockServer: MockServer 是一个开源的 API mock 测试工具&#xff0c;提供了强大的模拟服务器和 mock 服务功能。MockServer 支持多种语言和格式&#xff0c;包括 Java、.NET、REST、SOAP 等。 WireMoc…