K8S本地开发环境-minikube安装部署及实践

引言

 在上一篇介绍了k8s的入门和实战,本章就来介绍一下在windows环境如何使用minikube搭建K8s集群,好了废话不多说,下面就和我一起了解Minikube吧。

什么是Minikube?

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

Minikube一般用于本地开发、测试和学习

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

Minikube 安装

 注意:在windows环境下如果想要使用Minikube,需要先安装Docker Desktop,安装参考这篇:windows10/11安装和使用docker-CSDN博客

配置要求

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

安装步骤

安装步骤就不在这里赘述了,请按照官方文档minikube start | minikube进行操作,里面有windows和Linux的安装方式,大家可以根据自己的环境选择来安装,我这里用的是win11。

Minikube 实战

 注意:在windows环境下如果想要使用Minikube,需要先安装docker,docker安装参考这篇:windows10/11安装和使用docker-CSDN博客

启动 Minikube

以管理员方式运行PowerShell,执行命令启动 Minikube:

minikube start

下载初始化过程可能会比较慢,请耐心等待 

执行命令后等待docker拉取镜像,最终成功页面显示如下 如果发现启不来,报错如下,这是因为拉取不到合适的k8s镜像

 参考这篇:K8S 部署 SpringBoot 项目(一篇够用)_k8s部署springboot-CSDN博客

验证集群状态

等待 Minikube 启动完成后,执行以下命令验证集群状态:

kubectl cluster-info
kubectl get nodes

会看到如下输出

使用 Kubectl 

现在可以使用 kubectl 命令行工具管理 Minikube 上的 Kubernetes 集群。

kubectl get pods --all-namespaces

开启控制台

minikube dashboard

启动成功会自动打开浏览器进入k8s控制面板,可以看到部署的信息 

执行命令查看所有Pod

kubectl get pods -ALL

部署nginx示例

创建一个nignx-deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx-container
        image: nginx:latest
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: NodePort # 这里可以根据需求选择其他Service类型
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30208

然后在文件目录打开CMD命令窗口执行

kubectl apply -f .

在执行kubectl get pods -A 查看nginx的部署情况 

也可以在dashboard查看

 然后执行下面命令,就可以再浏览器访问nginx了

minikube  service  nginx-service

 

至此,在windows上搭建k8s集群就完成,小伙伴们可以在本地进行开发和部署测试了,如果搭建过程中有遇到什么问题,也欢迎在评论区或者私信交流。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

1688商品详情API:实现商品详情自动化的关键步骤

一、准备工作 在使用1688商品详情API之前,我们需要进行一些准备工作。 注册与登录:首先,你需要在1688的开放平台上注册一个账号并创建一个应用。这样你就可以获得一个API密钥,这是调用API的凭证。阅读API文档:详细阅…

web开发-springboot-web

报错: Failure to find org.springframework.boot:spring-boot-starter-parent:pom:3.2.1.RELEASE in https://maven.aliyun.com/nexus/content/groups/public was cached in the local repository, resolution will not be reattempted until the update interval …

定制自己的GPTs,及使用ChatGPT/GPT4写程序的注意事项

如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 ChatGPT,作为一种强大的自然语言处理模型,具备显著优势,能够帮助您在各个领域取得突破。 ChatGPT 在论文写作与编程方面也具备强大的能力。无论是进…

安卓在SOA中的运用

安卓在运用SOA研发的过程中,会针对实际情况对研发的架构和流程进行优化,通过优化过的架构和实施方案,不仅可以大大提升了整车开发的效率和灵活行以及功能落地的稳定性,同时也增加了系统的向上兼容性。 目前基于车载SOA系统的研发…

记一个CSS样式实现思路(鼠标聚焦时完整内容,失焦时只显示部分)

效果图 默认状态 鼠标悬浮时 缓慢展示完整内容 实现方法 方法一 使用max-width,当鼠标悬浮时&#xff0c;设置max-width为一个足够大的数值 <div class"flex justify-center align-center mt-20px"><div v-for"(item, key) in ssoList" :key&q…

HTML----JavaScript操作对象BOM对象

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 本章要求 了解BOM模型掌握BOM模型实际应用 一.BOM模型概述 BOM&#xff08;浏览器对象模型&#xff09;是JavaScript中的一个重要概念&#xff0c;它提供了一组用于控制浏览器窗口和页面内容的…

基于 ESP32-C3 开启 Flash 加密和安全启动并进行 OTA 测试

软件&#xff1a; esp-idf v5.1.2 硬件&#xff1a; ESP32-C3 board 1. 首先&#xff0c;准备一个明文固件 hello-world.bin 基于 esp-idf-v5.1.2\examples\get-started\hello_world 例程&#xff0c;使用如下指令&#xff0c;直接编译&#xff0c;获取明文固件 hello-worl…

大数据时代快速获取数据方法,爬虫技术理论剖析与实战演练

一、教程描述 人工智能和机器学习&#xff0c;都离不开数据&#xff0c;若是没有数据&#xff0c;再好的算法&#xff0c;再好的模型&#xff0c;都没有用武之地。数据不仅是指现成的数据库&#xff0c;更加是指每天增加的海量互联网数据。本套教程将通过多个实战项目&#xf…

2024上海国际智慧城市,物联网,大数据博览会(上海智博会)

随着科技的飞速发展&#xff0c;智慧城市、物联网与大数据已经成为当今社会发展的重要驱动力。作为国内最具影响力的科技展会之一&#xff0c;2024上海国际智慧城市,物联网,大数据博览会&#xff08;简称:世亚智博会&#xff09;汇聚了全球顶尖的智慧城市、物联网与大数据技术&…

JMeter之测试WebService接口

JMeter之测试WebService接口 1 背景2 目的3 介绍4 具体操作4.1 soapUI调用4.2 JMeter工具调用4.3 操作步骤流程4.3 重点 1 背景 WebService应用的范围是非常广&#xff0c;任何需要跨平台、跨系统进行数据交换和功能调用的场景都可以用此来实现&#xff0c;在实际的工作中也常常…

k8s-yaml格式

三种常见的项目发布方式&#xff1a; 蓝绿发布&#xff1a; 金丝雀发布&#xff08;灰度发布&#xff09;&#xff1a; 滚动发布&#xff1a; 应用程序升级&#xff0c;面临的最大的问题&#xff0c;就是新旧业务的更换&#xff0c;立项--定稿--需求发布--开发--测试--发布&…

有效边表填充算法

有效边表填充算法 如何填充示例三角形 按照扫描线从上往下的顺序&#xff0c;依次处理和多边形相交的扫描线&#xff0c;对于当前处理的扫描线找到和它相交的所有边的交点&#xff0c;按照交点横坐标从小到大的顺序&#xff0c;两个两个配对&#xff0c;配对之后填充每对交点之…

踩了Vue2运行机制的坑-响应式原理

最近遇到一个很奇怪的bug&#xff1a; 前置&#xff1a;后端接口返回的数据是这样的&#xff1a; ①首先在store中取出后端返回的数据Ares.data&#xff0c;在这里打印输出是正常的 ②然后在vue页面上再取出A.data也就是res.data.data&#xff0c;以及其它几个字段即res.data.X…

Spring技术内幕笔记之IOC的实现

IOC容器的实现 依赖反转&#xff1a; 依赖对象的获得被反转了&#xff0c;于是依赖反转更名为&#xff1a;依赖注入。许多应用都是由两个或者多个类通过彼此的合作来实现业务逻辑的&#xff0c;这使得每个对象都需要与其合作的对象的引用&#xff0c;如果这个获取过程需要自身…

解决报错:找不到显卡

今天做实验碰到一个问题&#xff1a;torch找不到显卡&#xff1a; 打开任务管理器&#xff0c;独显直接没了&#xff0c;一度以为是要去修电脑了&#xff0c;突然想到上次做实验爆显存&#xff0c;屏蔽了gpu用cpu训练&#xff1a; import os os.environ["CUDA_DEVICE_OR…

线性代数笔记3 1.1

学习视频&#xff1a; 2.2 矩阵运算&#xff08;二&#xff09;_哔哩哔哩_bilibili 包括内容&#xff1a; p10矩阵运算&#xff08;二&#xff09; p11特殊矩阵 p12逆矩阵&#xff08;一&#xff09; p13逆矩阵&#xff08;二&#xff09;

网络四元组

文章目录 网络四元组 今天我们来聊聊 网络四元组 网络四元组 四元组&#xff0c;简单理解就是在 TCP 协议中&#xff0c;去确定一个客户端连接的组成要素&#xff0c;它包括源 IP 地址、目标 IP 地址、源端口号、目标端口号。 正常情况下&#xff0c;我们对于网络通信的认识可…

【C语言】Ubuntu 22上用GTK写GUI程序

一、GTK介绍 GTK (GIMP Toolkit) 是一个多平台的图形用户界面工具包。它最初是为图像处理程序 GIMP 开发的&#xff0c;后来演变成为许多操作系统上开发图形界面应用程序的通用库。GTK 是用C语言编写的&#xff0c;并且是自由和开源软件&#xff0c;遵循LGPL (GNU Lesser Gene…

Go中interface != nil不一定不是nil

摘要&#xff1a; interface{} 值 ! nil不一定不是nil&#xff0c;应使用reflect库判断是否是nil。 测试示例&#xff1a; // todo interface ! nil 不一定 不是nil var value map[string]interface{} reqMap : make(map[string]interface{}) reqMap["key"] valu…

计算机网络学习笔记(四)

文章目录 1.介绍一下HTTPS的流程。2.介绍一下HTTP的失败码。3.说一说你知道的http状态码。4. 301和302有什么区别&#xff1f;5.302和304有什么区别&#xff1f;6. 请描述一次完整的HTTP请求的过程。7.什么是重定向&#xff1f;8. 重定向和请求转发有什么区别&#xff1f;9.介绍…