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列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

如何在pycharm安装torch包

《如何在pycharm安装torch包》:本文主要介绍如何在pycharm安装torch包方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录在pycharm安装torch包适http://www.chinasem.cn配于我电脑的指令为适用的torch包为总结在p

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java调用C++动态库超详细步骤讲解(附源码)

《Java调用C++动态库超详细步骤讲解(附源码)》C语言因其高效和接近硬件的特性,时常会被用在性能要求较高或者需要直接操作硬件的场合,:本文主要介绍Java调用C++动态库的相关资料,文中通过代... 目录一、直接调用C++库第一步:动态库生成(vs2017+qt5.12.10)第二步:Java调用C++