minikube从入门到精通系列之一:部署minikube详细步骤

minikube从入门到精通系列之一:部署minikube详细步骤

  • 一、认识Minikube
  • 二、Minikube核心知识点
  • 三、minikube官方地址
  • 四、minikube 启动
  • 五、minikube的配置需求
  • 六、Mac安装minikube
  • 七、CenotOS7上安装minikube
  • 八、启动集群
  • 九、与集群交互
  • 十、部署应用程序
    • 1.Service
    • 2.LoadBalancer
    • 3.Ingress
  • 十一、管理集群

K8s相关知识可以阅读博主以下几篇技术博客:

  • K8s系列之:搭建高可用K8s v1.23.5集群详细步骤,3个master节点,3个Node节点
  • K8s系列之:Pod的基本用法
  • k8s系列之:kubectl子命令详解一
  • k8s系列之:kubectl子命令详解二
  • 更多K8s知识点详见博主K8s系列文章

一、认识Minikube

  • Minikube是一个开源工具,用于在本地开发环境中快速搭建一个单节点的Kubernetes集群。
  • 它支持多种虚拟化技术,在不同平台上都可以运行,如VirtualBox、Hyper-V、KVM等。
  • 通过Minikube,开发人员可以方便地在本地环境中测试、构建和部署应用程序,并尝试不同的Kubernetes功能和配置。
  • Minikube提供了一些命令行工具,如kubectl,用于与Kubernetes集群进行交互,可以在本地开发中提高效率和便捷性。

二、Minikube核心知识点

  1. Kubernetes集群的搭建和管理:Minikube帮助用户在本地环境中快速搭建和管理一个Kubernetes集群,从而提供了一个容器化应用程序的运行环境。

  2. 容器和镜像的管理:Minikube可以运行和管理多个容器,用户可以使用Docker Hub等资源库来查找和下载不同的镜像。

  3. kubectl命令行工具的使用:Minikube内置了kubectl命令行工具,用户可以使用该工具与Kubernetes集群进行交互,比如创建和管理应用程序、服务、节点等。

  4. 资源配额和限制的配置:Minikube允许用户配置集群中的资源配额和限制,以确保应用程序的稳定性和可伸缩性。

  5. Kubernetes对象的管理:Minikube支持管理Kubernetes中的不同对象,如Pod、Service、Deployment等,以帮助用户更好地理解和使用Kubernetes。

  6. 网络配置和服务发现:Minikube提供了网络配置和服务发现的功能,以便应用程序可以在Kubernetes集群中互相通信和发现彼此的服务。

  7. 日志和监控:Minikube支持应用程序的日志和监控,以帮助用户追踪和分析应用程序的运行状况。

三、minikube官方地址

minikube官方地址:

  • https://minikube.sigs.k8s.io/docs/start/

四、minikube 启动

minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。

您所需要的只是 Docker(或类似兼容的)容器或虚拟机环境,并且只需一个命令即可使用 Kubernetes:minikube start

五、minikube的配置需求

minikube的配置需求:

  • 2 个或更多 CPU
  • 2GB 可用内存
  • 20GB 可用磁盘空间
  • 网络连接
  • 容器或虚拟机管理器,例如:Docker、QEMU、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox 或 VMware Fusion/Workstation

六、Mac安装minikube

要使用二进制下载在 x86-64 macOS 上安装最新的 minikube 稳定版本:
在这里插入图片描述

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube

七、CenotOS7上安装minikube

在这里插入图片描述

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm
sudo rpm -Uvh minikube-latest.x86_64.rpm

在这里插入图片描述

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

八、启动集群

从具有管理员访问权限的终端(但未以 root 身份登录),运行:

minikube start

如果 minikube 无法启动,请参阅驱动程序页面以获取设置兼容容器或虚拟机管理器的帮助。

九、与集群交互

如果您已经安装了 kubectl,现在可以使用它来访问闪亮的新集群:

kubectl get po -A

或者,minikube 可以下载适当版本的 kubectl,您应该能够像这样使用它:

minikube kubectl -- get po -A

您还可以通过将以下内容添加到 shell 配置中来让您的生活更轻松:

alias kubectl="minikube kubectl --"

最初,某些服务(例如存储配置程序)可能尚未处于“运行”状态。这是集群启动期间的正常情况,很快就会自行解决。为了进一步了解集群状态,minikube 捆绑了 Kubernetes 仪表板,让您可以轻松适应新环境:

minikube dashboard

十、部署应用程序

1.Service

创建示例部署并将其公开在端口 8080 上:

kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080

这可能需要一些时间,但是当您运行时,您的部署很快就会显示:

kubectl get services hello-minikube

访问此服务的最简单方法是让 minikube 为您启动 Web 浏览器:

minikube service hello-minikube

或者,使用 kubectl 转发端口:

kubectl port-forward service/hello-minikube 7080:8080

您的应用程序现已在 http://localhost:7080/ 上提供。

您应该能够在应用程序输出中看到请求元数据。尝试更改请求的路径并观察变化。同样,您可以执行 POST 请求并观察输出中显示的正文。

2.LoadBalancer

要访问 LoadBalancer 部署,请使用“minikubetunnel”命令。这是一个部署示例:

kubectl create deployment balanced --image=kicbase/echo-server:1.0
kubectl expose deployment balanced --type=LoadBalancer --port=8080

在另一个窗口中,启动隧道以为“平衡”部署创建可路由 IP:

minikube tunnel

要查找可路由的 IP,请运行以下命令并检查 EXTERNAL-IP 列:

kubectl get services balanced

您的部署现已在 :8080 上可用

3.Ingress

启用入口插件:

minikube addons enable ingress

以下示例创建简单的 echo-server 服务和一个用于路由到这些服务的 Ingress 对象。

kind: Pod
apiVersion: v1
metadata:name: foo-applabels:app: foo
spec:containers:- name: foo-appimage: 'kicbase/echo-server:1.0'
---
kind: Service
apiVersion: v1
metadata:name: foo-service
spec:selector:app: fooports:- port: 8080
---
kind: Pod
apiVersion: v1
metadata:name: bar-applabels:app: bar
spec:containers:- name: bar-appimage: 'kicbase/echo-server:1.0'
---
kind: Service
apiVersion: v1
metadata:name: bar-service
spec:selector:app: barports:- port: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:name: example-ingress
spec:rules:- http:paths:- pathType: Prefixpath: /foobackend:service:name: foo-serviceport:number: 8080- pathType: Prefixpath: /barbackend:service:name: bar-serviceport:number: 8080
---

应用内容

kubectl apply -f https://storage.googleapis.com/minikube-site-examples/ingress-example.yaml

等待ingress address

kubectl get ingress
NAME              CLASS   HOSTS   ADDRESS          PORTS   AGE
example-ingress   nginx   *       <your_ip_here>   80      5m45s

Docker 桌面用户注意事项:
要使 Ingress 正常工作,您需要打开一个新的终端窗口并运行 minikube 隧道,并在以下步骤中使用 127.0.0.1 代替 <ip_from_above>。

现在验证入口是否正常工作

$ curl <ip_from_above>/foo
Request served by foo-app
...$ curl <ip_from_above>/bar
Request served by bar-app
...

十一、管理集群

暂停 Kubernetes,而不影响已部署的应用程序:

minikube pause

取消暂停已暂停的实例:

minikube unpause

停止集群:

minikube stop

更改默认内存限制(需要重新启动):

minikube config set memory 9001

浏览易于安装的 Kubernetes 服务目录:

minikube addons list

创建运行旧版 Kubernetes 的第二个集群:

minikube start -p aged --kubernetes-version=v1.16.1

删除所有 minikube 集群:

minikube delete --all

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器压力测试

目录 一、磁盘性能测试安装fio磁盘性能测试工具测试内容为顺序读、随机读、顺序写、随机写、随机读写结果分析 二、CPU性能测试安装sysbench性能测试工具结果分析 三、内存性能测试结果分析 四、网络性能测试测试iperf3工具测试结果分析1.测试TCP吞吐量2 . 测试UDP丢包和延迟 此…

自定义MVC框架优化

目录 一、前言 二、优化问题 1.子控制器的初始化配置问题 2.页面跳转优化代码冗余问题 3.优化参数封装问题 三、进行优化 1.解决子控制器初始化配置 2.解决页面跳转的代码冗余问题 3.解决优化参数封装问题 4.中央控制器 一、前言 在自定义MVC框架原理中讲述了什么是…

基于matlab使用点特征匹配稳定从抖动平台捕获的视频(附源码)

一、前言 此示例演示如何稳定从抖动平台捕获的视频。稳定视频的一种方法是跟踪图像中的显著特征&#xff0c;并将其用作锚点以消除与其相关的所有扰动。但是&#xff0c;此过程必须了解第一个视频帧中这种显着特征的位置。在此示例中&#xff0c;我们探索了一种无需任何此类先…

亚马逊云科技中国峰会聚焦生成式AI等前沿科技,探讨当下时代的挑战与机遇

6月27日&#xff0c;“2023亚马逊云科技中国峰会”在上海世博中心盛大启幕&#xff01; 亚马逊全球副总裁、亚马逊云科技大中华区执行董事张文翊全面阐述了在当下这个挑战与机遇并存的时代&#xff0c;面对生成式AI等前沿科技带来的新挑战和新机遇&#xff0c;企业需要“面向未…

使用 Docker 高效搭建本地开发环境(详细教程)

Docker本地开发环境的好处 试错 对开发者而言&#xff0c;每天会催生出的各式各样的新技术都需要尝试&#xff0c;然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵&#xff0c;正是得益于 Docker&#xff0c;让我们有可能在一条或者几条命令内就搭建完环境…

阿里巴巴开源Chat2DB v1.0.11 初体验

阿里巴巴开源Chat2DB v1.0.11 初体验 前言什么是Chat2DB下载安装安装配置Chat2DB初体验配置数据源准备测试数据认识几个功能菜单开始测试自然语言转SQLSQL解释SQL优化 使用总结后续功能结语 前言 作为一名阿里巴巴开源项目的拥护者&#xff0c;从Chat2DB开源至今都有关注这个开…

Spring 项目过程及如何使用 Spring

文章目录 1.创建 Spring 项目步骤1.1 创建 Maven 项目1.2添加 Spring 框架支持1.3 添加启动项2.如何使用 Spring2.1 存储 Bean 对象2.1.1 创建 Bean对象2.1.2 将 Bean对象注册到容器中 2.2 获取并使用 Bean对象2.2.1 使用 ApplicationContext 获取对象2.2.2 使用 BeanFactory 获…

【裸机开发】GPT 定时器(三) —— 使用GPT实现高精度延时

延时最简单粗暴的方式就是使用空循环来延时&#xff0c;依赖的是时钟主频&#xff08;默认是396M&#xff09;来计数&#xff0c;一旦修改了 6ull 的时钟主频&#xff0c;延时效果就会存在偏差。 因此我们可以使用 EPIT 或者 GPT 的计数功能实现高精度延时&#xff0c;EPIT 是…

探索MediaPipe的人像分割

MediaPipe是Google开源的计算机视觉处理框架&#xff0c;基于TensorFlow来训练模型。图像分割模块提供人像分割、头发分割、多类分割。本文主要探索如何实现人像分割&#xff0c;当然在人像分割基础上&#xff0c;我们可以做背景替换、背景模糊。 目录 一、配置参数与模型 1…

【AIGC】BaiChuan7B开源大模型介绍、部署以及创建接口服务

模型介绍 baichuan-7B是由百川智能开发的一个开源的大规模预训练模型。基于Transformer结构&#xff0c;在大约1.2万亿tokens上训练的70亿参数模型&#xff0c;支持中英双语&#xff0c;上下文窗口长度为4096。在标准的中文和英文权威benchmark&#xff08;C-EVAL/MMLU&#x…

探索思维导图:提升思维能力与效率的利器

思维导图作为一种强大的思考工具&#xff0c;已经被广泛应用于各个领域&#xff0c;从学习、工作到创意思维和项目管理。 本文将为您介绍思维导图的基本概念、使用方法以及它对思维能力和效率提升的价值。通过学习和掌握思维导图&#xff0c;您将能够更系统地组织和表达您的思…

M3 architecure

using one picture from arm document . 1. 3级别流水线哈弗架构 采用三级流水线&#xff0c;为了简单&#xff0c;常见的流水线5级&#xff0c;对于带有OOOB的12级较为常见&#xff0c;足可见M3的架构简化了很多 2. thumb 加ARMV7-M ISA 指令集就是硬件和软件的中间交互规则…