第三章:使用 Minikube 创建集群

2024-04-01 21:36

本文主要是介绍第三章:使用 Minikube 创建集群,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用 Minikube 创建集群

目标

  • 了解 Kubernetes 集群。
  • 了解 Minikube。
  • 在你的电脑上开启一个 Kubernetes 集群。

Kubernetes 集群

Kubernetes 集群是由多个计算节点(Nodes)组成的集合,每个节点都运行着 Kubernetes 控制平面的一部分,以及容器化应用程序的工作负载。一个 Kubernetes 集群包含两种类型的资源:

  • 控制面调度整个集群

    控制面协调集群中的所有活动,例如调度应用、维护应用的所需状态、应用扩容以及推出新的更新。

  • 节点负责运行应用

    节点是一个虚拟机或者物理机,它在 Kubernetes 集群中充当工作机器的角色。 每个节点都有 Kubelet,它管理节点而且是节点与控制面通信的代理。 节点还应该具有用于处理容器操作的工具,例如 Docker 或 rkt。 处理生产级流量的 Kubernetes 集群至少应具有三个节点,因为如果一个节点出现故障其对应的 etcd 成员和控制面实例都会丢失, 并且冗余会受到影响。你可以通过添加更多控制面节点来降低这种风险。

Kubernetes 集群的核心组件:

  1. Master 节点:
    • kube-apiserver: 提供 Kubernetes API,允许用户和管理员与集群进行交互。
    • etcd: 一个分布式键值存储数据库,用于保存集群的配置信息和状态。
    • kube-scheduler: 负责将新创建的 Pod 分配给集群中的节点。
    • kube-controller-manager: 包含多个控制器,用于监控集群的状态并确保它们符合预期的状态。
  2. 工作节点(Node):
    • kubelet: 在节点上负责管理容器的生命周期,包括启动、停止和监视容器。
    • kube-proxy: 负责实现 Kubernetes 服务的网络代理和负载均衡。
    • 容器运行时(如 Docker、containerd 等): 负责运行容器。
  3. 网络插件(CNI): 负责为 Pod 和服务创建网络通信的网络插件,如 Calico、Flannel 等。
  4. 存储插件(CSI): 提供动态创建和管理持久化存储卷的能力,如 Rook、Ceph 等。

在 Kubernetes 上部署应用时,你告诉控制面启动应用容器。 控制面就编排容器在集群的节点上运行。 **节点使用控制面暴露的 Kubernetes API 与控制面通信。**终端用户也可以使用 Kubernetes API 与集群交互。

Kubernetes 既可以部署在物理机上也可以部署在虚拟机上。你可以使用 Minikube 开始部署 Kubernetes 集群。 Minikube 是一种轻量级的 Kubernetes 实现,可在本地计算机上创建 VM 并部署仅包含一个节点的简单集群。 Minikube 可用于 Linux、macOS 和 Windows 系统。Minikube CLI 提供了用于引导集群工作的多种操作, 包括启动、停止、查看状态和删除。

Minikube 安装

Minikube 是一个用于在本地开发环境中运行 Kubernetes(一个用于自动部署、扩展和管理容器化应用程序的开源容器编排工具)的工具。Minikube 允许开发者在个人计算机上创建一个单节点的 Kubernetes集群,用于测试和开发目的。

通过 Minikube,开发者可以在本地轻松地体验 Kubernetes 的基本功能,而无需设置一个完整的生产级别的多节点集群。Minikube 会在本地虚拟机中启动一个单节点的 Kubernetes 集群,这允许开发者在其个人计算机上创建、管理和测试容器化应用程序,以便更好地理解和熟悉 Kubernetes 的工作原理。

Minikube 支持多种虚拟化平台,如 VirtualBox、Hyper-V 和 KVM,因此用户可以选择适合其系统的虚拟化技术。它还提供了一些方便的命令行工具,用于启动、停止和管理本地 Kubernetes 环境。

需要以下条件才能使用 Minikube

  • 2个或更多的CPU
  • 2GB的可用内存
  • 20GB的可用磁盘空间
  • 互联网连接
  • 容器或虚拟机管理器,例如:Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox或VMware Fusion/Workstation.
1、打开终端(命令行界面)
2、使用 curl 命令下载最新的 Minikube 二进制文件

在终端中运行以下命令:

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
3、将下载的二进制文件移动到一个可执行路径,例如 /usr/local/bin/

运行以下命令:

sudo install minikube-linux-amd64 /usr/local/bin/minikube

如果提示密码,请输入你的管理员密码。

4、验证 Minikube 是否成功安装

运行以下命令:

minikube version

这应该输出 Minikube 的版本信息,确认安装成功。

5、启动 Minikube 集群
  1. 默认启动

    minikube start   
    
  2. 指定 kubernetes版本启动

    启动指定版本 Kubernetes 的示例命令:

    minikube start --kubernetes-version=<desired_version>
    

    请将 `` 替换为你想要使用的 Kubernetes 版本。例如,如果你想要使用 Kubernetes 版本 1.20.0,你可以运行以下命令:

    sqlCopy codeminikube start --kubernetes-version=v1.20.0 --force --driver=docker 
    

    Minikube 将下载和启动指定版本的 Kubernetes,并为你提供一个本地的单节点 Kubernetes 集群。

  3. 指定镜像源

    minikube start  --force --driver=docker --image-mirror-country='cn'  --image-repository=registry.cn-hangzhou.aliyuncs.com 
    

启动过程如下:

* Centos 7.7.1908 上的 minikube v1.32.0
! 当提供 --force 参数时,minikube 将跳过各种验证,这可能会导致意外行为
* 根据用户配置使用 docker 驱动程序
* The "docker" driver should not be used with root privileges. If you wish to continue as root, use --force.
* 如果您在VM中运行 minikube,请考虑使用 --driver=none:
*   https://minikube.sigs.k8s.io/docs/reference/drivers/none/
* 正在使用镜像存储库 registry.cn-hangzhou.aliyuncs.com
* 使用具有 root 权限的 Docker 驱动程序
* 正在集群 minikube 中启动控制平面节点 minikube
* 正在拉取基础镜像 ...
! The image 'registry.cn-hangzhou.aliyuncs.com/coredns/coredns:v1.10.1' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/etcd:3.5.9-0' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/k8s-minikube/storage-provisioner:v5' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/kube-proxy:v1.28.3' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/kube-scheduler:v1.28.3' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/pause:3.9' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/kube-controller-manager:v1.28.3' was not found; unable to add it to cache.
! The image 'registry.cn-hangzhou.aliyuncs.com/kube-apiserver:v1.28.3' was not found; unable to add it to cache.

这将下载所需的镜像并启动本地 Kubernetes 集群。

提示:【VM虚拟机root启动】

这篇关于第三章:使用 Minikube 创建集群的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/868190

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma