k8s入门到实战(二)—— windows安装minikube

minikube 安装

minikube 是一个用于在本地计算机上运行单个节点的 k8s 集群的工具。它允许开发人员可以在自己的计算机上进行本地的 k8s 开发和测试。通过minikube,您可以模拟一个完整的 k8s 集群环境,包括节点、Pod、服务和存储等组件。它是一个轻量级、易于安装和使用的工具,适用于在本地进行 k8s 相关的开发、测试和学习。

徒手搭建过 k8s 的同学都晓得其中的煎熬,复杂的认证,配置环节相当折磨人,出错率相当高,而 minikube 就是为解决这个问题而衍生出来的工具,minikube 可以在单机环境下快速搭建可用的 k8s 集群,非常适合测试和本地开发,现有的大部分在线 k8s 实验环境也是基于 minikube 的。

可以在 minikube 上体验 kubernetes 的相关功能。

minikube 基于 go 语言开发,可以在单机环境下快速搭建可用的 k8s 集群,快速启动,消耗机器资源较少,可在你的笔记本电脑上的虚拟机内轻松创建单机版 k8s 集群,非常适合测试和本地开发。

minikube 架构

下图是 minikube的架构,可以看出,master 节点与其它节点合为一体,而整体则通过宿主机上的 kubectl 进行管理,这样可以更加节省资源。

在这里插入图片描述

其支持大部分 k8s 的功能,列表如下:

DNS
NodePorts
ConfigMaps and Secrets
Dashboards
Container Runtime: Docker, and rkt
Enabling CNI (Container Network Interface)
Ingress
…

minikube 支持 Windows、macOS、Linux 三种 OS系统,会根据平台不同,下载对应的虚拟机镜像,并在镜像内安装 K8S。

我们这里直接使用 Windows 安装体验。

minikube 安装

下载步骤:

  1. 安装 docker
  • 下载地址:https://docs.docker.com/desktop/install/windows-install/

  • 知道下载后的 Docker for Windows Installer 安装文件,完成安装。

  • 安装好之后会重启

在这里插入图片描述

安装好后如图所示

  1. 安装 minikube

minikube 下载地址 https://minikube.sigs.k8s.io/docs/start/

1、点击这里下载安装程序minikube-installer.exe,安装即可

在这里插入图片描述

2、配置环境变量

3、命令行测试,需要保证 docker 启动

minikube 常用命令

查看 minikube 版本

minikube version
C:\Users\DELL>minikube version
W0323 17:19:55.916748    1800 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
minikube version: v1.32.0
commit: 8220a6eb95f0a4d75f7f2d7b14cef975f050512d

启动 minikube

minikube start
C:\Users\DELL>minikube start
W0323 17:24:17.006260   23440 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
* Microsoft Windows 11 Home China 10.0.22631.3296 Build 22631.3296 上的 minikube v1.32.0
* 根据现有的配置文件使用 docker 驱动程序
* 正在集群 minikube 中启动控制平面节点 minikube
* 正在拉取基础镜像 ...
    > index.docker.io/kicbase/sta...:  453.90 MiB / 453.90 MiB  100.00% 2.61 Mi
! minikube was unable to download gcr.io/k8s-minikube/kicbase:v0.0.42, but successfully downloaded docker.io/kicbase/stable:v0.0.42 as a fallback image
* Creating docker container (CPUs=2, Memory=4000MB) ...
* 正在 Docker 24.0.7 中准备 Kubernetes v1.28.3…
  - 正在生成证书和密钥...
  - 正在启动控制平面...
  - 配置 RBAC 规则 ...
* 配置 bridge CNI (Container Networking Interface) ...
* 正在验证 Kubernetes 组件...
  - 正在使用镜像 gcr.io/k8s-minikube/storage-provisioner:v5
* 启用插件: storage-provisioner, default-storageclass
* 完成!kubectl 现在已配置,默认使用"minikube"集群和"default"命名空间

检查 minikube 集群状态

minikube status
C:\Users\DELL>minikube status
W0323 17:30:34.612462    4616 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured

获取 minikube 集群的 ip 地址

minikube ip
C:\Users\DELL>minikube ip
W0323 17:31:38.368205    2484 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
192.168.49.2

通过 SSH 连接到正在运行的 minikube 集群

minikube ssh
C:\Users\DELL>minikube ssh
W0323 17:34:12.883919   24608 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
# 查看集群下所有的 docker 容器
docker@minikube:~$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS     NAMES
1407610b3a2f   6e38f40d628d                "/storage-provisioner"   6 minutes ago   Up 6 minutes             k8s_storage-provisioner_storage-provisioner_kube-system_d4ee5dfb-c7e0-441c-baa2-12474b5ad5c4_1
f6403b614117   ead0a4a53df8                "/coredns -conf /etc…"   7 minutes ago   Up 7 minutes             k8s_coredns_coredns-5dd5756b68-w9wgv_kube-system_0a9ad253-2304-447e-8ab3-2f06da88a721_0
606d3bac1dbb   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_coredns-5dd5756b68-w9wgv_kube-system_0a9ad253-2304-447e-8ab3-2f06da88a721_0
4cdfd56f9d60   bfc896cf80fb                "/usr/local/bin/kube…"   7 minutes ago   Up 7 minutes             k8s_kube-proxy_kube-proxy-cdq9d_kube-system_2f2aca3c-4d8c-45c1-8efc-b7d0d4938025_0
821e8c045d0c   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_kube-proxy-cdq9d_kube-system_2f2aca3c-4d8c-45c1-8efc-b7d0d4938025_0
c7f05331626d   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_storage-provisioner_kube-system_d4ee5dfb-c7e0-441c-baa2-12474b5ad5c4_0
ae5966109c8a   6d1b4fd1b182                "kube-scheduler --au…"   7 minutes ago   Up 7 minutes             k8s_kube-scheduler_kube-scheduler-minikube_kube-system_75ac196d3709dde303d8a81c035c2c28_0
49f497991344   10baa1ca1706                "kube-controller-man…"   7 minutes ago   Up 7 minutes             k8s_kube-controller-manager_kube-controller-manager-minikube_kube-system_7da72fc2e2cfb27aacf6cffd1c72da00_0
51420b3b4a70   73deb9a3f702                "etcd --advertise-cl…"   7 minutes ago   Up 7 minutes             k8s_etcd_etcd-minikube_kube-system_9aac5b5c8815def09a2ef9e37b89da55_0
982fdca2d503   537434729123                "kube-apiserver --ad…"   7 minutes ago   Up 7 minutes             k8s_kube-apiserver_kube-apiserver-minikube_kube-system_55b4bbe24dac3803a7379f9ae169d6ba_0
7f2976f13746   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_kube-scheduler-minikube_kube-system_75ac196d3709dde303d8a81c035c2c28_0
b2b10a4815fa   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_kube-controller-manager-minikube_kube-system_7da72fc2e2cfb27aacf6cffd1c72da00_0
eff72a86aa15   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_kube-apiserver-minikube_kube-system_55b4bbe24dac3803a7379f9ae169d6ba_0
7236c52d6a38   registry.k8s.io/pause:3.9   "/pause"                 7 minutes ago   Up 7 minutes             k8s_POD_etcd-minikube_kube-system_9aac5b5c8815def09a2ef9e37b89da55_0

停止服务 minikube

minikube stop

启动 minikube 的仪表板(可视化界面),执行此命令后,将自动打开一个浏览器窗口,显示 minikube 集群的仪表板界面

minikube dashboard
C:\Users\DELL>minikube dashboard
W0323 17:40:48.423278   11632 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
* 正在开启 dashboard ...
  - 正在使用镜像 docker.io/kubernetesui/dashboard:v2.7.0
  - 正在使用镜像 docker.io/kubernetesui/metrics-scraper:v1.0.8
* 某些 dashboard 功能需要启用 metrics-server 插件。为了启用所有功能,请运行以下命令:

        minikube addons enable metrics-server


* 正在验证 dashboard 运行情况 ...
* 正在启动代理...
* 正在验证 proxy 运行状况 ...
^C
C:\Users\DELL>minikube dashboard
W0323 17:41:42.866075   25216 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
* 正在验证 dashboard 运行情况 ...
* 正在启动代理...
* 正在验证 proxy 运行状况 ...
* 正在使用默认浏览器打开 http://127.0.0.1:59903/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ ...

在这里插入图片描述

停止 minikube 集群服务

minikube stop
C:\Users\DELL>minikube stop
W0323 17:53:55.131539   25916 main.go:291] Unable to resolve the current Docker CLI context "default": context "default": context not found: open C:\Users\DELL\.docker\contexts\meta\37a8eec1ce19687d132fe29051dca629d164e2c4958ba141d5f4133a33f0688f\meta.json: The system cannot find the path specified.
* 正在停止节点 "minikube" ...
* 正在通过 SSH 关闭“minikube”…
* 1 个节点已停止。

可以通过以下命令获取 minibuke 相关信息

# 获取所有节点
kubectl get node
C:\Users\DELL>kubectl get node
NAME       STATUS   ROLES           AGE   VERSION
minikube   Ready    control-plane   17m   v1.28.3
# 获取所有命名空间中的Pod列表
kubectl get pods -A
C:\Users\DELL>kubectl get pods -A
NAMESPACE              NAME                                         READY   STATUS    RESTARTS      AGE
kube-system            coredns-5dd5756b68-w9wgv                     1/1     Running   0             19m
kube-system            etcd-minikube                                1/1     Running   0             19m
kube-system            kube-apiserver-minikube                      1/1     Running   0             19m
kube-system            kube-controller-manager-minikube             1/1     Running   0             19m
kube-system            kube-proxy-cdq9d                             1/1     Running   0             19m
kube-system            kube-scheduler-minikube                      1/1     Running   0             19m
kube-system            storage-provisioner                          1/1     Running   1 (18m ago)   19m
kubernetes-dashboard   dashboard-metrics-scraper-7fd5cb4ddc-lxkt2   1/1     Running   0             7m45s
kubernetes-dashboard   kubernetes-dashboard-8694d4445c-sl6cc        1/1     Running   0             7m45s

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

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

相关文章

Xcode-双架构arm64 x86_64编译

要启用通用构建,在最新版本的 Xcode 中,请打开您的项目设置,然后依次选择: 1. “Build Settings” 选项卡。 2. 在顶部输入框中输入 “Architectures”。 3. 在 “Architectures” 下拉列表中选择 “Other”。 4. 在输入框中输入 …

代码随想录刷题day32|K次反转后最大的数组和加油站分发糖果

文章目录 day34学习内容一、K次反转后最大的数组和1.1、思路1.2、代码-正确写法1.2.1、如何理解if (k % 2 1) ?1.2.2、原始nums数组[2,-3,-1,5,-4],那么排序后数组等于什么? 二、加油站2.1、思路2.2、正确写法12.2.1、 如何理解上面这段代码…

数据可视化-ECharts Html项目实战(7)

在之前的文章中,我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢 数据可视化-ECharts Html项目实战(6…

JavaScript 学习日记(1)---初识JavaScript

初识JavaScript 文章目录 初识JavaScript一、JavaScript 是什么?二、java 和JavaScript 的关系三、JavaScript 的组成四、JS的基本输入输出 ---> 单行注释五、js变量基本概念六、js基本数据类型七、js转义字符八、js类型转换九、运算符 END! 一、JavaScript 是什么? 我们…

FDGaussian:又快又好的三维重建方案 | Gaussian Splatting和扩散模型超强联合

项目地址:https://qjfeng.net/FDGaussian/ 文章链接:https://arxiv.org/pdf/2403.10242 本文介绍了一种名为FDGaussian的新型两阶段框架,用于单张图像的三维重建。最近的方法通常利用预先训练好的二维扩散模型从输入图像生成可能的新视图&…

DARTS-: ROBUSTLY STEPPING OUT OF PERFORMANCE COLLAPSE WITHOUT INDICATORS

DARTS-:增加辅助跳跃连接,鲁棒走出搜索性能崩溃 论文链接:https://arxiv.org/abs/2009.01027 项目链接:GitHub - Meituan-AutoML/DARTS-: Code for “DARTS-: Robustly Stepping out of Performance Collapse Without Indicators…

RAG笔记:常见问题以及解决方法

1 内容缺失 知识库中缺少必要的上下文信息。当知识库没有包含正确答案时,RAG 系统可能会给出一个貌似合理但实际上错误的回答,而不是明确表示它不知道答案。 1.1 解决方法 1.1.1 设置阈值 在回答问题前先设定一个质量标准。如果召回内容达不到标准或…

大数据Hadoop生态圈体系视频课程

课程介绍 熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配…

真假“长文本”,国产大模型混战

文|郝 鑫 Kimi有多火爆?凭一己之力搅乱A股和大模型圈。 Kimi概念股连日引爆资本市场,多个概念股随之涨停。在一片看好的态势中,谁都想来沾个边,据光锥智能不完全统计,目前,至少有包括读客…

(二)BSQ,BIL,BIP存储格式的相互转换算法

环境:Windows10专业版 IDEA2021.2.3 jdk11.0.1 GDAL(release-1928-x64-gdal-3-5-2-mapserver-8-0-0) 系列文章: (一)PythonGDAL实现BSQ,BIP,BIL格式的相互转换 (二)BSQ,BIL,BIP存…

【中间件】docker数据卷

📝个人主页:五敷有你 🔥系列专栏:中间件 ⛺️稳中求进,晒太阳 1.数据卷(容器数据管理) 修改nginx的html页面时,需要进入nginx内部。并且因为内部没有编辑器,修改…

手把手教集成环信新版UIKit组件,快速构建Android应用

前言 环信新版UIKit已重磅发布!目前包含单群聊UIKit、聊天室ChatroomUIKit,本文详细讲解Android端单群聊UIKit的集成教程。 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库,提供各种组件实现会话列表、聊天界…

网络编程(Internet)

网络编程三要素 在网络通信协议下,不同计算机上运行的程序,可以进行数据传输。 IP地址 要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机&#xf…

【超图 SuperMap3D】【基础API使用示例】54、超图SuperMap3D -鼠标左键拖拽绘制圆

前言 引擎下载地址:[添加链接描述](http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id2524) 通过左键按下拖拽的方式在地图上进行贴地的圆绘制 完整代码拷贝直接本地运行即可查看效果效果 核心代码 // 绘制圆形 function startDrawCircleHand…

探究橡胶手套与乳胶手套的区别及选择指南

在探寻手部防护的世界里,橡胶手套与乳胶手套各自闪耀着独特的光芒。然而,对于许多人来说,这两者之间的细微差异仍然笼罩在一层迷雾之中。本文将如同一盏明灯,照亮这片迷雾,为您提供一份详尽的选择指南。 首先&#xff…

高性价比 惠海MOS管选型推荐 30V60V100V150V NMOS管和PMOS管

mos管选型建议: 需要抗电流冲击的,普通逻辑开关或者工作频率很低比如50kHZ以内的,电流非常大的情况比如实际工作6A以上的话一般建议选择平面mos管。6A以内的应用,大电流沟槽型mos管即可。 需要高频开关,比如500kHZ以…

2024/3/23打卡数组分割(第14届蓝桥杯)——二项式定理,快速幂

目录 题目 思路 代码 题目 思路 分析该题,要将集合 划分成两个子集 ,且两个子集的和都是偶数。 可知:偶数 偶数 偶数;偶数 奇数 奇数;奇数 奇数 偶数; 分析可得:如果该集合的和为奇…

AtCoder Regular Contest 133 B - Dividing Subsequence 复杂版LIS最长上升子序列

B - Dividing Subsequence 题意: 数组a和数组b,找出最长公共子序列,使得每个b[ i ] 都是 a[ i ]的倍数。 思路: AtCoder Regular Contest 133 B(最长上升子序列) C(思维) - 知乎 这种题应把问题转化,把 要找的 和 …

父类子类构造方法调用示例

父类写无参构造,子类不写构造,实例化子类,会同时调用父类构造方法 public class Father {private String name;private int age;public Father() {System.out.println("父类无参构造");}} public class Son extends Father {priva…

prometheus监控oracle

程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一份大厂面试资料《史上最全大厂面试题》,Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …