K8s 源码剖析及debug实战(一):Minikube 安装及源码准备

2023-12-29 15:20

本文主要是介绍K8s 源码剖析及debug实战(一):Minikube 安装及源码准备,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 0. 引言
  • 1. 什么是 Minikube
  • 2. 安装 Minikube
  • 3. 下载 Go
  • 4. 下载 Goland
  • 5. 下载 K8s 源码
  • 6. 后续


0. 引言

欢迎关注本专栏,本专栏主要从 K8s 源码出发,深入理解 K8s 一些组件底层的代码逻辑,同时借助 debug Minikube 来进一步了解 K8s 底层的代码运行逻辑细节,帮助我们更好的了解不为人知的运行机制,让自己学会如何调试源码,玩转 K8s。

本专栏适合于运维、开发以及希望精进 K8s 细节的同学。同时本人水平有限,尽量将本人理解的内容最大程度的展现给大家~

1. 什么是 Minikube

Minikube 是一种轻量化的 Kubernetes 集群,是 Kubernetes 社区为了帮助开发者和学习者能够更好学习和体验 K8s 功能而推出的。借助个人 PC 的虚拟化环境就可以实现 Kubernetes 的快速构建启动,以简化本地开发和测试环境。

Minikube 目前在 macOS、Linux、Windows 平台上利用各类本地虚拟化环境作为驱动运行,能够实现 Kubernetes 集群在个人电脑上的快速部署和运行。用户可以使用 Minikube CLI 管理虚拟机上的 Kubernetes 环境,例如启动、停止、删除、获取状态等。一旦 Minikube 虚拟机启动,用户就可以使用熟悉的 Kubectl CLI 在 Kubernetes 集群上执行操作。

Minikube 的配置需求包括至少2核的 CPU、2G 空闲的内存和 20G 空闲的磁盘空间。它可以在容器或虚拟机底座上运行,如 Docker、Hyperkit、Hyper-V、KVM、Parallels、Podman、VirtualBox、VMWare 等。

2. 安装 Minikube

参考之前写过的一篇有关于安装 Minikube 的文章, 《Mac 安装 Minikube 》,对于 Mac 可以按照上面的文章去安装 Minikube。对于 Windows 的安装大同小异,由于本人是 Mac,没有 Windows 的实践经验,网上此类文章很多,有些内容依然可参考上述文章,其他的不再赘述。

3. 下载 Go

Go 官网下载链接
在这里插入图片描述

下载完成后打开压缩包,并将解压出来的文件夹重命名为"go",并移动到希望放的位置(如 /usr/local 目录下)。

依次执行以下命令配置环境:

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bash_profile
source ~/.bash_profile
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

4. 下载 Goland

Goland 是由 JetBrains 公司专为 Go 语言开发的跨平台商业 IDE,旨在为Go 开发者提供符合人体工程学的 IDE。Goland 整合了 IntelliJ 平台(一个用于 Java 语言开发的集成环境,也可用于其他开发语言),提供了针对Go语言的编码辅助和工具集成。

在 Go 语言的 IDE 的选择方面首推 Goland, 就本人使用体验而言,功能强大、 使用方便快捷,在各个大厂用得较多。

Goland 官网下载链接,安装完后配置好 GOROOT、GOPATH 等。
在这里插入图片描述

5. 下载 K8s 源码

git clone https://github.com/kubernetes/kubernetes.git

如果官方的代码无法下载,可以尝试下载我的代码,K8s 1.16 的源码,里面有些自己的中文注解:

git clone git@github.com:leilei11/kubernetes.git

6. 后续

本文先准备一些必要的依赖,后面一篇文章会介绍如何 debug K8s,下面是本人在本地 debug 的界面,有了本地 debug 的能力,了解代码逻辑才能事半功倍!欢迎关注本人,敬请期待!
在这里插入图片描述
欢迎关注本人,我是喜欢搞事的程序猿; 一起进步,一起学习;

也欢迎关注我的wx公众号:一个比特定乾坤
在这里插入图片描述

这篇关于K8s 源码剖析及debug实战(一):Minikube 安装及源码准备的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Java Spring 中的监听器Listener详解与实战教程

《JavaSpring中的监听器Listener详解与实战教程》Spring提供了多种监听器机制,可以用于监听应用生命周期、会话生命周期和请求处理过程中的事件,:本文主要介绍JavaSprin... 目录一、监听器的作用1.1 应用生命周期管理1.2 会话管理1.3 请求处理监控二、创建监听器2.1 Ser

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧