Getting Started with minikube

Docker容器健康检查 阅读详情

本文作者 :Daniel Hu
GitHub 地址: https://www.danielhu.cn


What’s up guys, this is Daniel! Yeah, this English blog is WRITTEN by me, not TRANSLATED by me! It’s my first English blog in my whole life. If you are a Chinese reader, maybe you’ve ever seen my Chinese blogs before. Right, I wrote a lot of blogs, but only in Chinese. Believe it or not, English isn’t my strong suit. But I want to have a try today and I’ll do my best. Let’s get started.

What We Will Talk about Today

If you ask me how to create a local Kubernetes cluster, I’ll tell you Kind, minikube, and Kubeadm are all good choices. If you ask me which tool is the most recommended for beginners, my answer must be minikube or Kind. minikube is more powerful than Kind, and Kind is easier than minikube.

In my previous article, I walked you guys through “How to Create a Local Kubernetes Cluster from the Ground Up” with Kind. If you are interested, here’s a quick link for you:

You might ask why that article is written by Tiexin Guo, not me. Of course! As I said in the beginning, this blog you are reading now is my first English blog. So, technically, the one above isn’t “my” article, but I did write the Chinese version of it:

Both minikube and Kind are the most well-known and popular choices to run a Kubernetes environment on a local computer. Since I’ve shown you how to use Kind, I might as well introduce minikube to youadorable today.

Quick Start with minikube

minikube is a command-line tool like Kind that you can use to create and configure Kubernetes clusters locally on your computer.

How to Install minikube

If your computer is the same as mine, Mac with m1 chip, you can install the latest minikube stable release in 2 steps:

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

If you are using Homebrew, just one command:

sh
brew install minikube

If your computer is of other platforms or architectures, see the “Installation” section in minikube start for more details.

minikube start

Like the section title we used here, to start using minikube, run minikube start:

sh
$ minikube start
😄  minikube v1.25.2 on Darwin 12.2.1 (arm64)
👎  Unable to pick a default driver. Here is what was considered, in preference order:
    ▪ docker: Not healthy: "docker version --format {{.Server.Os}}-{{.Server.Version}}" exit status 1: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    ▪ docker: Suggestion: Start the Docker service <https://minikube.sigs.k8s.io/docs/drivers/docker/>
💡  Alternatively you could install one of these drivers:
    ▪ hyperkit: Not installed: exec: "hyperkit": executable file not found in $PATH
    ▪ parallels: Not installed: exec: "prlctl": executable file not found in $PATH
    ▪ vmware: Not installed: exec: "docker-machine-driver-vmware": executable file not found in $PATH
    ▪ virtualbox: Not installed: unable to find VBoxManage in $PATH
    ▪ podman: Not installed: exec: "podman": executable file not found in $PATH

❌  Exiting due to DRV_DOCKER_NOT_RUNNING: Found docker, but the docker service isn't running. Try restarting the docker service.

Ok, it doesn’t matter; we need to install Docker. In my previous article 用 Kind 从零开始快速搭建本地 Kubernetes 测试环节, I introduced how to “Install Docker”.

After the Docker is installed, what we’ll need in total?

  • A not too bad computer;
  • Internet connections;
  • Container or virtual machine hypervisor, such as: Docker, Hyper-V, KVM, VirtualBox, or VMware Workstation …

Let’s try to run minikube start again. This command is time-consuming the first time you use it, especially if the network speed is low. Feel free to have a cup of coffee then come back to see the result.

2000 years later…

Well Done! 0 error, 0 warning! The logs are beautiful!

sh
$ minikube start
😄  minikube v1.25.2 on Darwin 12.2.1 (arm64)
✨  Automatically selected the docker driver
👍  Starting control plane node minikube in cluster minikube
🚜  Pulling base image ...
💾  Downloading Kubernetes v1.23.3 preload ...
    > preloaded-images-k8s-v17-v1...: 419.07 MiB / 419.07 MiB  100.00% 8.54 MiB
    > index.docker.io/kicbase/sta...: 28.23 MiB / 343.12 MiB  8.23% 1.34 MiB p/
    > index.docker.io/kicbase/sta...: 343.12 MiB / 343.12 MiB  100.00% 3.77 MiB
❗  minikube was unable to download gcr.io/k8s-minikube/kicbase:v0.0.30, but successfully downloaded docker.io/kicbase/stable:v0.0.30 as a fallback image
🔥  Creating docker container (CPUs=2, Memory=3885MB) ...
🐳  Preparing Kubernetes v1.23.3 on Docker 20.10.12 ...
    ▪ kubelet.housekeeping-interval=5m
    ▪ Generating certificates and keys ...
    ▪ Booting up control plane ...
    ▪ Configuring RBAC rules ...
🔎  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: storage-provisioner, default-storageclass

❗  /usr/local/bin/kubectl is version 1.21.5, which may have incompatibilites with Kubernetes 1.23.3.
    ▪ Want kubectl v1.23.3? Try 'minikube kubectl -- get pods -A'
🏄  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

Access Your Shiny Kubernetes Cluster

Do you have kubectl installed? If yes, you can now use it to access your shiny Kubernetes cluster:

sh
$ kubectl get pod -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS        AGE
kube-system   coredns-64897985d-hdmqd            1/1     Running   0               3m10s
kube-system   etcd-minikube                      1/1     Running   0               3m24s
kube-system   kube-apiserver-minikube            1/1     Running   0               3m25s
kube-system   kube-controller-manager-minikube   1/1     Running   0               3m25s
kube-system   kube-proxy-nkzmn                   1/1     Running   0               3m10s
kube-system   kube-scheduler-minikube            1/1     Running   0               3m23s
kube-system   storage-provisioner                1/1     Running   1 (2m40s ago)   3m22s

Alternatively, minikube can download the appropriate version of kubectl with the command minikube kubectl:

sh
minikube kubectl -- get pod -A
    > kubectl.sha256: 64 B / 64 B [--------------------------] 100.00% ? p/s 0s
    > kubectl: 52.82 MiB / 52.82 MiB [--------------] 100.00% 6.04 MiB p/s 8.9s
NAMESPACE     NAME                               READY   STATUS    RESTARTS       AGE
kube-system   coredns-64897985d-hdmqd            1/1     Running   0              4m32s
kube-system   etcd-minikube                      1/1     Running   0              4m46s
kube-system   kube-apiserver-minikube            1/1     Running   0              4m47s
kube-system   kube-controller-manager-minikube   1/1     Running   0              4m47s
kube-system   kube-proxy-nkzmn                   1/1     Running   0              4m32s
kube-system   kube-scheduler-minikube            1/1     Running   0              4m45s
kube-system   storage-provisioner                1/1     Running   1 (4m2s ago)   4m44s

Cooooool!

Are you thinking this command is too complicated? Use the config below and you’ll be happy:

sh
alias kubectl="minikube kubectl --"

I’m used to command-line to access the Kubernetes cluster. Yes, I never use the Kubernetes Dashboard. But if you like to have some insight into your cluster state with a Dashboard, minikube bundles it for you:

sh
$ minikube dashboard
🔌  Enabling dashboard ...
    ▪ Using image kubernetesui/dashboard:v2.3.1
    ▪ Using image kubernetesui/metrics-scraper:v1.0.7
🤔  Verifying dashboard health ...
🚀  Launching proxy ...
🤔  Verifying proxy health ...
🎉  Opening http://127.0.0.1:51801/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ in your default browser...

At this time, your browser will automatically open a new tab, and the Dashboard will soon show up:

在这里插入图片描述

Deploy an Application in Your Shiny Kubernetes Cluster

Let’s create a sample deployment with the image preslavmihaylov/kubehelloworld:latest and expose it on port 3000.

The minikube start told us to use the k8s.gcr.io/echoserver:1.4 to launch the hello-minikube application, but it’ll fail on a Mac with m1 chip. See this issue for more details.

sh
$ kubectl create deployment sample-deploy --image=preslavmihaylov/kubehelloworld:latest
deployment.apps/sample-deploy created
$ kubectl expose deployment sample-deploy --type=NodePort --port=3000
service/sample-deploy exposed
$ kubectl get pod
NAME                             READY   STATUS    RESTARTS   AGE
sample-deploy-795887588d-flkgb   1/1     Running   0          50s
$ kubectl get svc
NAME            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
kubernetes      ClusterIP   10.96.0.1      <none>        443/TCP          66m
sample-deploy   NodePort    10.107.59.38   <none>        3000:32631/TCP   43s

Then we can use kubectl to forward the port:

sh
$ kubectl port-forward service/sample-deploy 3000:3000
Forwarding from 127.0.0.1:3000 -> 3000
Forwarding from [::1]:3000 -> 3000

Open the browser, visit localhost:3000, and “Hello World!” will soon show up.

Another way to access this service is to use the minikube service sample-deploy command and minikube will launch a browser page for you with the right url:port address.

And we can use the command minikube tunnel to use the LoadBalancer type Service. Here is an example:

sh
$ kubectl delete service sample-deploy
service "sample-deploy" deleted
$ kubectl expose deployment sample-deploy --type=LoadBalancer --port=3000
service/sample-deploy exposed

In another terminal window, start the tunnel to create a routable IP with the command minikube tunnel:

sh
$ minikube tunnel
✅  Tunnel successfully started

📌  NOTE: Please do not close this terminal as this process must stay alive for the tunnel to be accessible ...

🏃  Starting tunnel for service sample-deploy.

Now you can use the EXTERNAL-IP to access the Service:

sh
$ kubectl get svc
NAME            TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes      ClusterIP      10.96.0.1       <none>        443/TCP          86m
sample-deploy   LoadBalancer   10.96.205.167   127.0.0.1     3000:31945/TCP   28s
$ curl 127.0.0.1:3000
Hello World!

How to Manage the Cluster

I’ll show you some commands here:

  • minikube pause # Pause Kubernetes cluster without impacting any deployed resources.
  • minikube unpause # Unpause the Paused Kubernetes cluster.
  • minikube stop # Remember the minikube start? Need I say more?
  • minikube config set memory 20480 # Change the default memory limit (requires a restart).
  • minikube addons list # Browse the easily installed Kubernetes addons catalog.
  • minikube start -p aged --kubernetes-version=v1.16.1 # Create a second cluster running an older Kubernetes version.
  • minikube delete --all # Yeah, delete all, delete anything, delete all clusters.

That’s all?

No! But if you want to know them all, I’ll show you the command docs here.

How to Push Images into a minikube Cluster

There are about 8 ways you can use to push images into a minikube cluster. And I’ll show you the most useful two ways today.

Push Images with the cache Command

  • minikube cache add [flags] [options] # Add an image to local cache.

Cache? Yes, the image will be cached by minikube and automatically pushed into all clusters, not like the Kind method: kind load docker-image <IMAGE> [IMAGE...] [flags].

Let’s see how many sub-commands cache has:

sh
$ minikube cache -h
Add, delete, or push a local image into minikube

Available Commands:
  add         Add an image to local cache.
  delete      Delete an image from the local cache.
  list        List all available images from the local cache.
  reload      reload cached images.

Easy, isn’t it?

The only sub-command we need to talk about might be reload. If your image changed after you had cached it, you need to execute minikube cache reload [flags] [options]

E.g.:

  • minikube cache add alpine:latest # Cache alpine:latest for all clusters.
  • minikube cache reload alpine:latest # Reload alpine:latest if it’s changed.
  • minikube cache list # Display what images we have added to the cache.
  • minikube cache delete alpine:latest # Just delete alpine:latest

Pushing Directly to the In-Cluster Docker Daemon

If the image we want to use inside the minikube cluster is built locally instead of pulled from a registry, we can reuse the Docker daemon inside the minikube cluster. Yeah, we don’t have to build the image on our host machine and cache it; we can just build inside the same docker daemon inside the minikube cluster.

sh
$ docker ps
CONTAINER ID   IMAGE                    COMMAND                  CREATED       STATUS       PORTS                                                                                                                                  NAMES
170fe8252660   kicbase/stable:v0.0.30   "/usr/local/bin/entr…"   6 hours ago   Up 6 hours   127.0.0.1:50981->22/tcp, 127.0.0.1:50982->2376/tcp, 127.0.0.1:50984->5000/tcp, 127.0.0.1:50985->8443/tcp, 127.0.0.1:50983->32443/tcp   minikube

$ eval $(minikube docker-env)
$ docker ps
CONTAINER ID   IMAGE                            COMMAND                  CREATED       STATUS       PORTS     NAMES
de4fedaf4ef0   preslavmihaylov/kubehelloworld   "docker-entrypoint.s…"   5 hours ago   Up 5 hours             k8s_kubehelloworld_sample-deploy-795887588d-flkgb_default_2e6b194a-bdc7-44cc-b455-91959a4206a9_0
d45474ce1888   k8s.gcr.io/pause:3.6             "/pause"                 5 hours ago   Up 5 hours             k8s_POD_sample-deploy-795887588d-flkgb_default_2e6b194a-bdc7-44cc-b455-91959a4206a9_0
...

What happened?

After the command eval $(minikube docker-env) is executed, docker accesses the docker daemon inside the minikube cluster! What’s the secret with minikube docker-env command? Let’s dig into it:

sh
$ minikube docker-env
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://127.0.0.1:50982"
export DOCKER_CERT_PATH="/Users/danielhu/.minikube/certs"
export MINIKUBE_ACTIVE_DOCKERD="minikube"

# To point your shell to minikube's docker-daemon, run:
# eval $(minikube -p minikube docker-env)

I don’t think I need to explain more about what happened. And we can build against the Docker inside minikube now. Just execute a command like docker build -t my-image:latest ., my-image:latest is instantly accessible to the Kubernetes cluster.

How to …

Oops, there are many how-tos we could talk about, but I believe that you can start using minikube now. Maybe I’ll talk about more how-tos next time. If you want to dive into minikube now, go ahead and study the official documentation.

Summary

Cool, I finished writing this blog, It’s like opening Pandora’s box; I love this feeling. Of course, I know this blog is at the primary-school-student level, but I believe I can do better and better.

Don’t forget to give a Like, Comment, and Subscribe! I’ll see you in the next article!


DevStream

开源 DevOps 工具链管理工具

欢迎大家扫码加入我们的 DevStream 用户群

此刻你我的距离就是“它”

在这里插入图片描述

了解更多最新动态

DevStream 官网:https://www.devstream.io/

GitHub 地址:https://github.com/devstream-io/devstream

RAGFlow本地部署遇阻:解析进度卡顿的排查与修复指南 本文针对RAGFlow本地部署中常见的文档解析进度卡顿问题,提供了详细的排查与修复指南。核心原因是模型下载网络受阻,解决方案是通过修改环境配置文件,将模型下载源切换至国内镜像站,从而快速解决解析停滞问题。 阅读详情

相关推荐

工业级隔离CAN FD收发器ISO1042设计实战:从原理到EMC防护

在工业自动化与伺服驱动系统中,CAN总线是实现设备间可靠通信的关键技术。其核心原理是通过差分信号传输和仲裁机制,在复杂电磁环境中实现多节点实时数据交换。这项技术的核心价值在于为高噪声、高干扰的工业现场提供了稳定、确定性的通信基础,是构建分布式控制系统不可或缺的环节。其典型应用场景包括新能源汽车电池管理、工业机器人伺服控制以及光伏逆变器集群通信等。本文将聚焦于如何通过高性能隔离CAN FD收发器(如TI的ISO1042)来应对地电位差、浪涌和高压串扰等现场挑战,深入解析其集成的电气隔离、±70V总线故障保护和

weixin_26834815的博客 391

Docker容器状态为unhealthy的解决思路

一个PMM Server部署问题解决办法

qq_34595089的博客 1万+

CoppeliaSim(原V-REP)新手上路

CoppeliaSim(原V-REP)是一个机器人仿真平台,里面有很多来自别的公司的机器人模型以及完备的物理引擎,我们可以通过python,c++,matlab等语言控制里面的机器人。,您也可以在官网中Downloads里找您需要的版本,一般只需要下载EDU版本就可以了,我下载的是v4.1.0 windows EDU版本。在版本V4之前,CoppeliaSim叫V-REP,在官网可以下载到之前的V-REP版本。

qq_37051669的博客 4万+

minikube start

minikube start

编程牧马人 393

嵌入式STM32控制电梯面板

嵌入式STM32控制电梯面板 用点阵来显示电梯向上还是向下运动,用数码管来显示楼层数(由于灯阵显示楼层数比较困难故用数码管代替)。当按下对应的按钮,就可以去到对应层数,可上升可下降。 #include "stm32f10x.h" #include "stm32f10x_exti.h" #include "stm32f10x_it.h" #define uint unsigned int #define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_10) #define

code_init_的博客 2111

【开源教程25】疯壳·开源编队无人机-定高、定点、悬停

【开源教程25】疯壳·开源编队无人机-定高、定点、悬停

efans_Mike的博客 1652

minikube安装及问题解决

【代码】minikube安装及问题解决。

shenxinde的博客 2855

三菱PLC FX3U温度控制系统案例

U0\G100是平均次数的设置,设置为100个数据取平均,这样数据显示更加稳定,通道1的数据显示再U0\G10里面,温度模块的数据对应是0~150°输出0~10V,对应到0~10000的数据10000是150°的66.667倍,因此把数据传送到D0后转换成浮点数,再去除以66.667,就得到实际的温度了,数据存放到D2。触摸屏软件使用EBpro软件,设计界面如下,右边的是温度的实时曲线图,左边的是温度报警表,当当前温度超过了报警温度这种时,就会在这个表格上显示对应对应的报警。(1)实时显示温度值;

u010670857的博客 4060

Ubuntu 18.04/20.04 部署minikube

我的环境 Windows Server 下 Hyper-V 建立的虚拟机 Ubuntu Server 18.04 2 CPU 16G $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.4 LTS Release: 18.04 Codename: bionic 文档 官方文档 minikube start 参考使用国内源文档 Minikube - Kubernete

哈哈虎的博客 3373

一条龙开发指南:MCP AI Agent 理论+项目实战开发你的MCP Server

MCP(Model Connection Protocol)是Anthropic于2024年推出的AI模型连接协议,旨在为AI模型提供开放、通用的标准化接口,类似于“USB-C”接口,使AI模型能够无缝连接各种数据源和工具。MCP通过标准化协议解决了AI系统集成中的碎片化问题,提升了开发效率和系统可靠性。开发者可以通过简单的配置,快速接入不同的MCP Server,实现AI模型的多样化应用。MCP支持多种协议,如Stdio、SSE等,并通过JSON-RPC格式进行数据传输。文章还以腾讯云代码助手为例,展示了

杨不易呀 3047

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

本文介绍了在项目开发中实现坐标转换的方法,重点解析了两个关键函数UF_MTX4_csys_to_csys和UF_MTX4_vec3_multiply的使用。通过4个变换矩阵(transform1-4)实现工作坐标系与绝对坐标系之间的相互转换,并以圆柱体为例详细说明了坐标转换的具体实现过程,包括原点、X/Y轴方向的转换处理。相比之前采用的if-else判断方法,这种矩阵转换方式在代码复杂度和运行效率上都更具优势。

weixin_47753171的博客 600

Tutorial : Getting Started with Kubernetes on your Windows Laptop with Minikube

https://rominirani.com/tutorial-getting-started-with-kubernetes-on-your-windows-laptop-with-minikube-3269b54a226#.d9lmuvzf2 本文的注意事项: 1, 截止到2017.01.20, window上的kubernetes依然是实验性的, 存在各种不可预知

Carl 1668

网工、运维利器:MobaXterm,一款全能的远程工具

你好,这里是网络技术联盟站,我是瑞哥。是一款由Mobatek开发的多功能远程计算机管理工具,集成了多种网络协议和工具,专为网络工程师和系统管理员设计。它提供了丰富的远程连接功能,包括SSH、RDP、VNC、X11转发等,支持文件传输和多标签界面,内置了文本编辑器和多种网络工具,是一款全能的远程管理软件。MobaXterm的开发起始于2008年,最初只是一个简单的X服务器,但随着用户需求的不断增加和软件的逐步完善,MobaXterm逐渐发展成了一款功能全面、界面友好的远程管理工具。

网络技术联盟站 5230

[云] Getting Started with Kubernetes - Environment setup 环境配置

打开浏览器,访问并登录到您的账户。: 在 AWS 控制台的“服务”菜单中找到并点击“EC2”进入 EC2 Dashboard。: 在 EC2 Dashboard 中,点击“实例”然后选择“启动实例”来开始创建新的 EC2 实例。: 在提供的列表中,找到并选择“Ubuntu Server 24.04 LTS (HVM), SSD Volume Type”。这个 AMI 为您的实例提供了 Ubuntu Server 24.04 的操作系统和 SSD 卷类型的根设备。: 选择“m4.large”实例类型。

m0_74331272的博客 1186

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

immuni用户手册:如何看懂主界面状态卡?暴露通知与自我隔离建议完全解读

Immuni 是意大利政府推出的新冠暴露通知应用,本指南带你快速看懂 Immuni 主界面状态卡(App Status):服务是否正常工作、收到暴露通知后该如何应对、以及官方给出的自我隔离建议有哪些。即使你是第一次使用 Immuni,读完也能轻松掌握主界面的全部关键信息。 Immuni 基于 **Bluetooth Low Energy(低功耗蓝牙)** 交换随机生成的滚动邻近标识符(RPI),

gitblog_01083的博客 432

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

tunnl.gg 架构深度剖析:SSH 端口转发如何驱动一个 HTTPS 反向代理

tunnl.gg 是一个极简的 SSH 隧道服务:一条 `ssh -t -R 80:localhost:8080` 命令,就能把本地应用发布成公网 HTTPS 网址,无需安装任何客户端。它的核心架构非常有趣——SSH 端口转发(`-R` 反向转发)不只是建立通道,更是 HTTPS 反向代理的**数据通路**:每一条公网请求最终都走一条 SSH `forwarded-tcpip` 通道回到你的电脑。

gitblog_00372的博客 105

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Proton-GE 安装教程:三步跑通 Linux 游戏兼容层,附环境变量调优与排错清单

Linux 上跑 Windows 游戏,卡在视频粉红、鼠标飘、输入慢这三个坑里的你并不孤单。Proton-GE 就是冲着这些痛点来的 Steam 兼容层增强版,基于 Wine 叠了一堆社区补丁,让官方 Proton 搞不定的游戏能直接开玩。好消息是它装起来并不折腾:复制两三条命令解压到固定目录,重启 Steam 就能用。下面这份 Proton-GE 安装教程会带你先把它跑起来,再讲清它到底帮你省了

gitblog_00009的博客 937

mirrord 对比指南:远程调试器、minikube 与 Telepresence,为何进程级代理更优

本文基于 mirrord 官方 FAQ 文档《Comparisons》([mirrord/mcp/corpus/docs/faq/comparisons.md](https://link.gitcode.com/i/3cc9e2087e9c97836b8ae19d370fcd81)),系统对比 mirrord 与远程调试器(remote debugger)、本地集群副本(minikube)以及 T

gitblog_00320的博客 316

魔方NewLife.Cube实体控制器深度解析:一个EntityController搞定增删改查、统计与批量操作

魔方(NewLife.Cube)是一款 Web 快速开发平台,其中的实体控制器(EntityController)是搭建管理后台的核心组件——只要继承一个类,就能免费获得完整的增删改查(CRUD)、数据校验、统计行、批量操作乃至 Excel 导入导出能力。本文将从新手视角,带你快速掌握这个"一个控制器顶一支队伍"的利器,几分钟即可让一张数据表变成带菜单的后台页面。 [![魔方实体控制器后台管理架

gitblog_00147的博客 161

【资源自取】开关电源设计英文原版教材盘点:3 本经典书一站拿全指南

做开关电源设计的人大多有这个体验:中文教程不少,但讲到拓扑细节和工程折中时,往往绕不开几本英文原版教材。这套书想凑齐带书签的版本,过去得一个个地方找。这个仓库把三本经典的开关电源英文原版书打包成了一个 zip,下载解压即可打开阅读。 ## 📚 三本书,各解决一类问题 仓库里的核心文件是 三本开关电源经典书籍 英文原版+书签.zip,解压后得到三本 PDF 原书。 ### 《Switchin

gitblog_00067的博客 546

Jasna 马赛克检测模型:6 款取舍与 3 个阈值一次讲清

Jasna 是一款开源的 JAV 视频马赛克修复工具:检测模型先在每帧找出马赛克区域,再由修复模型重建画面。多数情况用内置 `rfdetr-v6` 加默认阈值就能直接跑;只有漏检或误检时才需要动阈值。 **速览** - 默认选内置的 `rfdetr-v6`(阈值 0.35),4K 漏检敏感换 `rfdetr-v6-large`(阈值 0.40),VR180 用 `rfdetr-vr-v1`。

gitblog_00999的博客 380

TBMQ集群部署完全指南:从Docker Compose到K8s云原生方案

TBMQ作为终极分布式MQTT broker,能够轻松处理1亿+连接和1000万条/秒消息,基于Kafka构建的工业级持久化能力确保数据零丢失。本文将带您从Docker Compose快速部署到K8s云原生方案,掌握TBMQ集群的完整部署流程。 ## 📋 准备工作:环境与资源需求 在开始部署前,请确保您的环境满足以下要求: - Docker Engine 20.10+ 或 Kubernete

gitblog_00069的博客 1057

90DaysOfDevOps 实战:使用 Kasten K10 在 Kubernetes 中完成有状态应用的备份与恢复

本篇技术指南来自 [90DaysOfDevOps](https://link.gitcode.com/i/350a73363ff2e6bb6ce4c5cbaaa714f4) 挑战的第 87 天,完整演示如何在 minikube 集群中部署开源 Kubernetes 数据管理平台 **Kasten K10**,对跑在 MongoDB 之上的有状态 Pacman 应用执行手动快照、模拟故障(恶意写入脏

gitblog_01143的博客 303

Knative Serving 快速上手:使用 kn CLI 与 YAML 部署你的第一个 Hello World 服务

本文是一份面向初次接触 Knative 的开发者的实战指南,核心主题是如何在本地 Kubernetes 集群上部署一个「Hello World」Knative Service。你将学会通过 `kn service create` 命令行或 `serving.knative.dev/v1` 的 Service YAML 两种方式完成部署,理解 Service、Revision、Route 之间的协作

gitblog_00268的博客 782

Knative Quickstart 教程:用 quickstart 插件 10 分钟在本地搭建 Serving 与 Eventing 环境

本教程介绍如何使用 Knative 官方的 `quickstart` 插件,在本地(kind 或 minikube)一键创建一套简化版的 Knative 环境,用于快速体验 **Knative Serving**(Serverless 服务部署、自动扩缩容、流量拆分)与 **Knative Eventing**(事件源、Broker、Trigger、Sink 组成的事件驱动链路)中最常用的功能。读

gitblog_00620的博客 710

相机为什么一打开就崩?mobile_scanner 扫码插件的 iOS/macOS 权限配置完整避坑指南

mobile_scanner 是一个跨平台的 Flutter 二维码与条形码扫描器:Android 侧走 CameraX + ML Kit,iOS/macOS 侧走 AVFoundation + Apple Vision,Web 侧走 ZXing。在 Apple 平台上,iOS 权限配置往往是新手最先踩的坑——而且很多人第一次见到它的样子,不是文档,而是一条崩溃日志: ``` Terminati

gitblog_00305的博客 227
上一篇: minikube 结合阿里云镜像搭建本地开发测试环境
下一篇: DevStream 开源社区——相识、相知、相爱
DevStream
博客等级 码龄5年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值