首页 > 其他分享 >minikube搭建Kubernetes环境

minikube搭建Kubernetes环境

时间:2023-03-04 23:01:03浏览次数:60  
标签:kubectl Kubernetes -- version minikube 镜像 搭建

前言

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 账号,需要加上此参数

标签:kubectl,Kubernetes,--,version,minikube,镜像,搭建
From: https://www.cnblogs.com/niuben/p/17178683.html

相关文章

  • 利用ChatGPT 和Milvus快速搭建智能问答机器人
    智能问答机器人是自然语言处理领域一个很经典的问题,它用于回答人们以自然语言形式提出的问题,有着广泛的应用。其经典应用场景包括:智能语音交互、在线客服、知识获取、情感......
  • DVWA 环境搭建
    环境准备phpstudy官网下载:https://www.xp.cn/,下载安装完成后启动Apache和MysqlDVWA下载地址:https://github.com/ethicalhack3r/DVWA将下载后的DVWA安装包......
  • docker搭建maven私服(nexus3),整合springboot上传下载依赖
    一、前言我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。maven出现之后,又迎来新的问题,对于仓库里人家......
  • 基于NUXT.JS搭建一款VUE版SSR前端框架(解决SPA应用的SEO优化优化问题)
    小仙男·言在前关于框架:为了解决VUE的SPA单页应用对SEO搜索引擎优化不友好的问题,这几天一直在调研各种SSR框架。比如doc.ssr-fc.com/和fmfe.github.io/genesis-do都是......
  • C#环境搭建,以及C#编译器的使用
    原文:https://tool.4xseo.com/a/25168.html搭建nuget包管理器HomePagewindows环境下,可以下载安装包:Download使用最新版本的C#编译器C#5.0之后,微软将csc开源并独立运行......
  • 微服务 - 搭建k8s(minikube)与简单wordPress实战
    Kubernetes的基本架构Kubernetes的基本架构,由Matser和Node子节点组成,使用kubectl进行通信,Master里的组件有哪些:Master里有4个组件,分别是apiserver、etcd、schedu......
  • 17_Spring_事务环境搭建
     通过张三给李四转账案例演示事务的控制1数据库中准备表格applicationContext.xmljdbc.properties见上节课2项目中准备实体类 packagecom.msb.pojo;importlombok.......
  • 17_Spring_事务环境搭建
     通过张三给李四转账案例演示事务的控制1数据库中准备表格applicationContext.xmljdbc.properties见上节课2项目中准备实体类 packagecom.msb.pojo;importlombok.......
  • 在centos中搭建mysql8
    1.卸载mariadb#一般centos7会默认安装mariadb,新安装的mysql8会与它造成依赖冲突,可以按下列方式进行卸载:rpm-qa|grepmariadb#如果出现mariadb-libs-5.5.68-1.el......
  • 17_Spring_事务环境搭建
    ​ 通过张三给李四转账案例演示事务的控制1数据库中准备表格applicationContext.xmljdbc.properties见上节课2项目中准备实体类 packagecom.msb.pojo;imp......