minikube搭建Kubernetes环境

news2024/11/18 17:51:32

前言

Kubernetes 一般都运行在大规模的计算集群上,管理很严格,Kubernetes 充分考虑到了这方面的需求,提供了一些快速搭建 Kubernetes 环境的工具。

minikube 它是一个“迷你”版本的 Kubernetes,自从 2016 年发布以来一直在积极地开发维护,紧跟 Kubernetes 的版本更新,同时也兼容较旧的版本(最多只到之前的 6 个小版本)。

minikube 最大特点就是“小而美”,可执行文件仅有不到 100MB,运行镜像也不过 1GB,但就在这么小的空间里却集成了 Kubernetes 的绝大多数功能特性,不仅有核心的容器编排功能,还有丰富的插件,例如 Dashboard、GPU、Ingress、Istio、Kong、Registry 等等,综合来看非常完善。

minikube 官网:https://minikube.sigs.k8s.io/docs/

minikube 安装

minikube 的官网上提供了各种系统的安装命令,通常就是下载、拷贝这两步,不过你需要注意一下本机电脑的硬件架构,Intel 芯片要选择带“amd64”后缀,Apple M1 芯片要选择“arm64”后缀,选错了就会因为 CPU 指令集不同而无法运行。

minikube 它是用 Go 语言开发的,整体就是一个二进制文件,没有多余的依赖,所以安装过程也非常简单。

安装完成之后,你可以执行命令 minikube version,看看它的版本号,验证是否安装成功:

minikube version

kubectl安装

不过 minikube 只能够搭建 Kubernetes 环境,要操作 Kubernetes,还需要另一个专门的客户端工具“kubectl”。

kubectl 的作用有点类似之前我们学习容器技术时候的工具“docker”,它也是一个命令行工具,作用也比较类似,同样是与 Kubernetes 后台服务通信,把我们的命令转发给 Kubernetes,实现容器和集群的管理功能。

kubectl 是一个与 Kubernetes、minikube 彼此独立的项目,可以单独进行安装,所以不包含在 minikube 里,但 minikube 提供了安装它的简化方式,你只需执行下面的这条命令:

minikube kubectl

它就会把与当前 Kubernetes 版本匹配的 kubectl 下载下来,存放在内部目录,然后我们就可以使用它来对 Kubernetes“发号施令”了。

在 minikube 环境里,我们会用到两个客户端:minikube 管理 Kubernetes 集群环境,kubectl 操作实际的 Kubernetes 功能。

kubectl version 查看版本信息,还不能直接用,因为使用 minikube 自带的 kubectl 有一点形式上的限制,要在前面加上 minikube 的前缀,后面再有个 --,像这样:

minikube kubectl -- version

为了避免这个不大不小的麻烦,我建议你使用 Linux 的“alias”功能,为它创建一个别名,写到当前用户目录下的 .bashrc 里,也就是这样:

alias kubectl="minikube kubectl --"

另外,kubectl 还提供了命令自动补全的功能,你还应该再加上“kubectl completion”:

source <(kubectl completion bash)

现在,我们就可以愉快地使用 kubectl 了:

kubectl version --short

运行 minikube

使用命令 minikube start 会从 Docker Hub 上拉取镜像,以当前最新版本的 Kubernetes 启动集群。Kubernetes version to v1.24+ 以上的版本是一个分水岭,我们可以在后面再加上一个参数 --kubernetes-version,明确指定要使用 Kubernetes 版本。

minikube start --kubernetes-version=v1.23.3

如果安装失败,请先删除后再重新安装

minikube delete --all --purge

如果出现拉取镜像失败的情况,可以先尝试安装好对应的镜像文件:

docker pull anjone/kicbase

然后 minikube 在启动的时候使用本地的镜像,这样可以减少 minikube start 过程的耗时。

minikube start --vm-driver=docker --base-image="anjone/kicbase"

如果启动失败可以更换指定的镜像仓库

minikube start \
--kubernetes-version=v1.23.3
--registry-mirror=https://bmtb464.mirror.aliyuncs.com \
--vm-driver=docker \
--base-image="anjone/kicbase" \
--image-repository-registry.cn-hangzhou.aliyuncs.com/google_containers \
--force
  • --kubernetes-version 指定 kubernetes 版本
  • --registry-mirror 这里的地址会和启动的 minikube 内部的 docker.daemon 文件中所指向的镜像仓库地址一致
  • --vm-driver 虚拟机引擎 这里是指 minikube 的内部通过 docker 来作为核心
  • --base-image 声明好基础镜像,如果宿主机内部有对应镜像,就不需要额外拉取
  • --image-repository 拉取镜像的仓库
  • --force 如果使用 root 账号,需要加上此参数

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

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

相关文章

Lesson 8.1 决策树的核心思想与建模流程

文章目录一、借助逻辑回归构建决策树1. 决策树实例2. 决策树知识补充2.1 决策树简单构建2.2 决策树的分类过程2.3 决策树模型本质2.4 决策树的树生长过程2.5 树模型的基本结构二、决策树的分类与流派1. ID3(Iterative Dichotomiser 3) 、C4.5、C5.0 决策树2. CART 决策树3. CHA…

minio安装配置和使用(一)

minio官网https://www.minio.org.cn 从官网获得安装文件。官网提供了Binary、RPM、DEB三种方式安装minio。 Binary方式我在我的测试环境中没有测试通过&#xff0c;按官网方式下载执行会报错如下&#xff1a; 查了下这个错误提示&#xff0c;似乎跟内存有关。 改用RPM方式安…

HCIP第一个实验

实验要求与实验拓扑子网划分分析将骨干链路看成一个整体&#xff0c;路由器后的2个环回地址先看成一个&#xff0c;最后再进行拆分。计算得出&#xff0c;一共需要划分为6个子网段&#xff0c;取三位。再将每一条网段&#xff0c;按照题目要求进行划分最后完成子网划分。子网划…

进行嵌入式C语言编程调试的通用办法

总结了一下调试我们嵌入式C程序的一些基本的办法和思想&#xff0c;供大家学习参考&#xff1a; 打印日志&#xff1a;在代码中添加打印语句&#xff0c;输出变量值、函数调用等信息&#xff0c;以便在程序运行时观察程序执行情况。 断点调试&#xff1a;在代码中添加断点&…

【编程实践】用 go 语言实现 B+ 树

文章目录 用 go 语言实现 B+ 树定义 B+ 树的结构B+ 树的插入操作函数B+ 树的查找小结用 go 语言实现 B+ 树 B+ 树是一种平衡的查找树,它可以有效组织存储大量的键值对,从而支持快速的插入和查找操作。 Go 语言可以用来实现 B+ 树,实现的思路是:首先,定义 B+ 树的结构,其…

【Linux】安装Linux操作系统具体步骤

1). 选择创建新的虚拟机 2). 选择"典型"配置 3). 选择"稍后安装操作系统(S)" 4). 选择"Linux"操作系统,"CentOS7 64位"版本 5). 设置虚拟机的名称及系统文件存放路径 6). 设置磁盘容量 7). 自定义硬件信息 8). 启动上述创建的新虚拟机…

【C++初阶】list的使用

大家好我是沐曦希&#x1f495; 文章目录一、前言二、构造三、迭代器四、增删查改1.头插头删2.尾插尾删3.查找和插入4.删除五、其他成员函数1.排序和去重2.splice和remove3.resize一、前言 list本质是带头双向循环链表&#xff0c;本文只对list的一些常用接口进行说明&#xf…

Qt creator中操作QAction加入QToolBar

背景&#xff1a;个人笔记。我之前没有系统化学习过任何资料&#xff0c;使用很多工具都是按需出发&#xff0c;直接上手&#xff0c;遇到问题再研究的。所以会有一些弯路。本文言语中难免有对个人情绪的生动描述&#xff0c;希望不要影响读者心情&#xff0c;这只是我学习过程…

前端网络安全

什么是同源策略同源指的是&#xff1a;协议、端口号、域名必须一致。他是浏览器的一个用于隔离潜在恶意文件的重要安全机制。限制了从同一个源加载的文档或脚本&#xff0c;与另一个源的资源进行交互。同源策略主要限制了三个方面&#xff1a;当前域下的js脚本不能够访问其他域…

waf和web应用防火墙的区别

waf和web应用防火墙有什么区别?相信这两个词大家都不陌生&#xff0c;特别是做互联网行业的小伙伴们。对于waf和web应用防火墙&#xff0c;这两个名词的理解应该都很清楚。但是很多小伙伴们不知道WAF防火墙与Web防火墙有什么区别&#xff0c;它们之间的区别在哪里&#xff0c;…

Spring Cloud(微服务)学习篇(七)

Spring Cloud(微服务)学习篇(七) 1.使用代码的方式实现流量限制规则 1.1 变更SentinelController类 1.1.1 加入的代码 //流控限制 (一个或多个资源限流), postConstruct注解的作用是保证项目一启动就会加载,// 一个rule就是一个规则PostConstructpublic void FlowRule(){Li…

【C++】string的成员函数、成员常量和非成员函数

目录 string 1. string的成员函数 1.1 构造、析构和赋值运算符重载 1.1.1 构造函数 1.1.2 析构函数 1.1.3 赋值运算符重载 1.2 迭代器 1.3 容量 1.4 元素访问 1.4.1 遍历方法 1.5 修改器 1.6 字符串操作 2. string的成员常量 3. string的非成员函数 string 以下…

javaEE 初阶 — 应用层中的 DNS 协议(域名解析系统)

文章目录什么是域名1. 如何建立 域名 与 IP 的对应关系2. 域名的分级什么是域名 域名也就是平常所说的网址&#xff0c;比如 www.baidu.com。 其实网络上的服务器要访问这个网址&#xff0c;需要的是 IP 地址。、 但是 IP 地址比较拗口不方便记忆&#xff0c;于是就有使用一些…

单向非循环链表

1、顺序表遗留问题 1. 中间/头部的插入删除&#xff0c;时间复杂度为O(N) 2. 增容需要申请新空间&#xff0c;使用malloc、realloc等函数拷贝数据&#xff0c;释放旧空间。会有不小的消耗。 3. 当我们以2倍速度增容时&#xff0c;势必会有一定的空间浪费。例如当前容量为100&a…

IDEA这些配置,简单高效

优化导包配置配置路径&#xff1a;File-> settings -> Editor -> General -> Auto ImportAdd unambiguous imports on the fly&#xff1a;自动导包Optimize imports on th fly (for current project)&#xff1a;自动删除无用包代码提示取消大小写配置路径&#x…

AOP(概念和原理)

文章目录1. AOP&#xff08;概念&#xff09;2. AOP&#xff08;底层原理&#xff09;2.1 AOP底层使用动态代理&#xff08;两种&#xff09;2.2 AOP 底层使用哪种代理方式 &#xff1f;3. AOP相关概念3.1 AOP术语4. AOP操作4.1 基于AspectJ实现AOP操作4.2 切点表达式4.3 基于A…

6 分布式事务简介

分布式事务简介 概念 基础概念&#xff1a;事务ACID * A&#xff08;Atomic&#xff09;&#xff1a;原子性&#xff0c;构成事务的所有操作&#xff0c;要么都执行完成&#xff0c;要么全部不执行&#xff0c;不可能出现部分成功部分失 败的情况。 * C&#xff08;Consisten…

嵌入式和Python(一):python环境搭建的详细步骤

目录 ● 安装python ① 更新软件列表 ② 安装编译python需要用到的环境 ③ 下载python源码 ④ 解压源码包 ⑤ 配置 ⑥ 编译 ⑦ 安装 ● 建立软连接 说明 ① 删除原来的软连接 ② 在/usr/bin/目录创建软连接python&#xff0c;定向/usr/local/bin/python3.9 ③ 检查…

Java面向对象:多态特性的学习

本文介绍了Java面向对象多态特性, 多态的介绍. 多态的实现条件–1.发生继承.2.发生重写(重写与重载的区别)3.向上转型与向下转型.4.静态绑定和动态绑定5. 实现多态 举例总结多态的优缺点 避免在构造方法内调用被重写的方法… Java面向对象:多态特性的学习一.什么是多态?二.多态…

MATLAB | 如何将colormap中心点置为0值处?

本期讲有一些绘图时正负部分需要分开赋予颜色&#xff0c;这时候双向colormap的中心对应的可能并不是数值0&#xff0c;该咋办&#xff0c;就比如下面的情况&#xff1a; 事先说明&#xff0c;为了绘图好看&#xff0c;本文中全部示例都在代码最后用了以下这个简单函数进行修饰…