【云原生】Minikube 部署

minikube 介绍

minikube 是本地 Kubernetes,专注于让 Kubernetes 易于学习和开发。

您所需要的只是 Docker(或类似兼容的)容器或虚拟机环境,只需一条命令即可使用 Kubernetes:minikube start

环境准备

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

安装

1、使用二进制下载在x86-64 Linux上安装最新的 minikube稳定版本

复制代码
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

2、启动集群

从具有管理员访问权限的终端(但未以 root 身份登录),运行

复制代码
minikube start

3、安装kubectl工具

3.1、在 Linux 系统中安装 kubectl

3.1.1、使用 curl 在 Linux 系统中安装 kubectl

3.1.1.1、使用以下命令下载最新发行版

复制代码
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

说明:

如需下载某个指定的版本,请用指定版本号替换该命令的这一部分: $(curl -L -s https://dl.k8s.io/release/stable.txt)。

例如,要在 Linux x86-64 中下载 1.24.3 版本,请输入:

复制代码
curl -LO https://dl.k8s.io/release/v1.24.3/bin/linux/amd64/kubectl

3.1.2、查看是否安装成功

复制代码
kubectl version --client

用原生包管理工具安装

复制代码
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
sudo yum install -y kubectl

4、与集群交互

如果您已经安装了 kubectl,现在可以使用它来访问闪亮的新集群

复制代码
如果您已经安装了 kubectl,现在可以使用它来访问闪亮的新集群

或者,minikube 可以下载适当版本的 kubectl,您应该能够像这样使用它:

复制代码
minikube kubectl -- get po -A

您还可以通过将以下内容添加到 shell 配置中来让您的生活更轻松:

复制代码
alias kubectl="minikube kubectl --"

最初,某些服务(例如存储配置程序)可能尚未处于"运行"状态。这是集群启动期间的正常情况,很快就会自行解决。为了进一步了解集群状态,minikube 捆绑了 Kubernetes 仪表板,让您可以轻松适应新环境:

复制代码
minikube dashboard

5、部署应用

5.1、创建示例部署并将其公开在端口 80 上:

复制代码
kubectl create deployment hello-nginx --image=nginx:latest
kubectl expose deployment hello-nginx --type=NodePort --port=80

5.2、查看是否启动完成

复制代码
kubectl get services hello-nginx

5.3、可以使用 kubectl 转发端口:

复制代码
kubectl port-forward service/hello-nginx 8080:80
此时使用转发宿主机的ip+8080端口即可访问应用

6、管理集群

6.1、暂停 Kubernetes,而不影响已部署的应用程序:

复制代码
minikube pause

6.2、取消暂停已暂停的实例:

复制代码
minikube unpause

6.3、停止集群:

复制代码
minikube stop

6.4、更改默认内存限制(需要重新启动):

复制代码
minikube config set memory 9001

6.5、删除所有 minikube 集群:

复制代码
minikube delete --all
相关推荐
darkdragonking18 分钟前
OpenEuler 22.03 ,以docker ce 安装 Milvus 及可视化工具
docker·容器·milvus
真上帝的左手2 小时前
11. 容器化 vs 虚拟化-K8s-工作负载实战
云原生·容器·kubernetes
极客先躯4 小时前
高级java每日一道面试题-2026年01月18日-实战篇[Docker]-如何清理仓库中的旧镜像?
java·运维·docker·容器
张忠琳5 小时前
【kubernetes v1.21】(controller-manager part 1)kube-controller-manager 核心架构与启动流程
云原生·架构·kubernetes
qq_452396236 小时前
第十五篇:《Docker 与 Kubernetes 集成:从 Swarm 到 K8s 的迁移》
docker·容器·kubernetes
HackTwoHub6 小时前
K8s综合渗透测试工具,集成信息搜集、权限逃逸、横向移动,一站式搞定全流程渗透测试工作
人工智能·安全·web安全·云原生·容器·kubernetes·系统安全
做个文艺程序员6 小时前
第05篇:K8s CI/CD 全流程:GitOps × ArgoCD × Harbor——Java SaaS 从代码提交到生产部署一键直达
ci/cd·kubernetes·argocd
人工智能培训7 小时前
数字孪生建模常用方式有哪些?
人工智能·深度学习·机器学习·容器·知识图谱
lpfasd1237 小时前
docker中默认网络的作用和注意事项
网络·docker·容器
IT策士7 小时前
第 37 篇 k8s之调度进阶:亲和性、污点与容忍
云原生·容器·kubernetes