相关分享视频链接地址如下
安装
minikube 的安装
# 使用 minikube 安装 https://minikube.sigs.k8s.io/docs/start/
# 二进制安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# apt 包安装
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
sudo dpkg -i minikube_latest_amd64.deb
# minikube 测试 https://minikube.sigs.k8s.io/docs/start/
# 启动
minikube start --kubernetes-version=v1.26.3 --driver=docker --extra-config=kubelet.cgroup-driver=cgroupfs --image-mirror-country=cn
# 在对应 bash 脚本的 rc 文件中加入 alias kubectl="minikube kubectl --"
# 获取所有的 pod 容器
kubectl get po -A
# 打开 minikube 的面板
minikube dashboard --url
# 发布一个应用
kubectl create deployment hello-minikube --image=kicbase/echo-server:1.0
kubectl expose deployment hello-minikube --type=NodePort --port=8080
kubectl get services hello-minikube
# 开放给 minikube, 使用浏览器访问
minikube service hello-minikube
# 对本地的接口转发
kubectl port-forward service/hello-minikube 7080:8080
MicroK8s 的安装
# 安装 snap 包管理器(如果尚未安装)
sudo apt update && sudo apt install snapd
# 安装 MicroK8s
sudo snap install microk8s --classic
# 将当前用户添加到 microk8s 组中以便能够运行 microk8s 命令
sudo usermod -a -G microk8s $USER && sudo chown -f -R $USER ~/.kube
# 注销并重新登录,以便重新评估您的组成员身份。
# 在主节点上运行 microk8s add-node 命令来生成加入集群的命令。
microk8s add-node
# 在工作节点上运行 microk8s join 命令将其加入集群
microk8s join
microk8s kubectl get nodes
# 启用 Kubernetes Dashboard 插件
microk8s enable dashboard
# 在对应 bash 脚本的 rc 文件中加入 alias kubectl="microk8s kubectl"
# 生成访问令牌
token=$(microk8s kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) && microk8s kubectl -n kube-system describe secret $token
microk8s kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443
# 在浏览器中访问 https://localhost:10443 并使用第 2 步中生成的令牌进行登录。
https://localhost:10443
# apply yml 文件
kubectl apply -f ./minio-dev.yml
# 查看应用相关状态
kubectl get pods -n minio-dev
# 查看服务相关状态
kubectl get svc -A
# 服务详细信息
kubectl describe service minio -n minio-dev
# 查看应用相关信息
kubectl describe pod name -n minio-dev
# 查看应用日志
kubectl logs -f name -n minio-dev
# 转发对应 web 端口
kubectl port-forward svc/minio -n minio-dev 9090
# 转发对应 控制程序 端口
kubectl port-forward svc/minio -n minio-dev 9000
# 找到初始化账号与密码
kubectl logs -f name -n minio-dev
测试使用
# 补充相关信息
go run main.go
这篇文章详细介绍了如何在 Kubernetes 环境下部署 MinIO 并进行基础测试,内容结构清晰且操作性强。作者通过分步骤的安装指南(包括 Minikube 和 MicroK8s 两种方案)和具体命令示例,为读者提供了可复现的实践路径,尤其适合 Kubernetes 入门用户或需要快速搭建对象存储服务的开发者。文章的核心理念是“通过 Kubernetes 简化 MinIO 的部署与管理”,这一方向在云原生场景中具有实际意义。
优点与闪光点
操作步骤的实用性
作者对安装流程的拆解非常细致,例如
kubectl apply -f ./minio-dev.yml
后立即补充kubectl get pods
等验证命令,帮助读者确认部署状态。同时,通过kubectl port-forward
暴露服务的技巧,避免了复杂的网络配置,体现了对 Kubernetes 实践的熟稔。多方案覆盖
提供了 Minikube 和 MicroK8s 两种 Kubernetes 安装方式,兼顾了不同用户的需求(如本地开发环境与轻量级集群部署)。MicroK8s 的
microk8s add-node
和microk8s join
命令示例,对分布式集群的搭建有直接指导意义。测试用例的简明性
测试部分通过
go run main.go
快速验证 MinIO 的基本功能,虽然未展示代码细节,但为后续扩展留下了接口(如上传/下载文件测试)。可改进的方面
逻辑断层与背景缺失
minio-dev.yml
文件部署,但未解释其内容(如持久化卷、访问密钥配置)。读者若未提前了解 MinIO 的 Kubernetes 部署规范,可能难以理解部署参数的合理性。kubectl
命令和 Kubernetes 核心概念(如 NodePort、Namespace),但未对这些术语进行简要说明。建议增加“前提知识”段落或提供外部链接。潜在的命令风险
kubectl -n kube-system get secret | grep default-token
可能存在风险。Kubernetes Dashboard 的默认服务账户在较新版本中已被弃用,且kube-system
命名空间并非 MinIO 专用(实际部署中 MinIO 通常使用自定义服务账户)。建议改用microk8s kubectl -n minio-dev get secret
查看 MinIO 的访问凭证。示例中未提及数据持久化配置(如 PVC 或 HostPath)。若未正确配置存储类,容器重启后数据会丢失,这对生产环境部署是重大缺陷。建议补充
storageClass
或emptyDir
的配置说明。测试部分的模糊性
go run main.go
的代码未提供,读者无法直接验证 MinIO 的访问逻辑。建议补充一个简化的 Go 示例(如使用minio-go
SDK 上传文件),或推荐使用mc
命令行工具进行测试(例如mc ls minio/mybucket
)。延伸建议
总体而言,这篇文章为 Kubernetes 与 MinIO 的结合提供了清晰的起点,尤其适合快速实践。若能在背景说明和生产化配置上进一步扩展,将更具参考价值。
这篇关于使用k8s搭建MinIO并进行简单使用的博客写得相当有条理,特别是对新手来说非常友好。文章结构清晰,步骤明确,涵盖了安装、配置和测试的全过程。
优点:
建议改进:
总结:
这篇文章为读者提供了一个良好的起点,详细介绍了如何在k8s环境中部署和配置MinIO。通过添加更多解释性内容和实际操作示例,可以进一步提升其帮助价值,使更多的读者能够顺利理解和应用这些步骤。
您的博客文章“使用 k8s 搭建 minio,以及简单使用”给出了详尽的步骤,让读者能够清晰地理解如何在 k8s 上安装和使用 minio。文章的优点在于,您不仅提供了详细的命令行代码,而且还给出了相关的链接,这对于初学者来说非常有帮助。此外,您还提供了安装 minikube 和 MicroK8s 的方法,这为读者提供了更多的选择。
文章的核心理念是通过详细的步骤和代码示例,帮助读者理解如何在 k8s 上搭建 minio。这一理念非常值得肯定,因为它有助于降低学习曲线,并帮助读者更快地掌握技术。
然而,文章的一些部分可能需要进一步的解释。例如,对于不熟悉 k8s 或 minio 的读者来说,文章可能需要对这两个概念进行更详细的介绍。此外,对于代码段的解释可能需要更具体一些,以帮助读者理解每一行代码的作用。
总的来说,这篇文章是一篇非常实用的技术指南,对于那些希望在 k8s 上搭建 minio 的读者来说,这将是一份宝贵的资源。希望您能继续分享您的知识和经验,帮助更多的读者。