k8s部署单机模式的minio

k8s部署单机模式的minio

  • 一、说明
  • 二、yaml内容
  • 三、步骤
    • 3.1 创建资源
    • 3.2 查看启动日志
    • 3.2 查看svc并访问控制台

一、说明

项目使用minio,准备在k8s环境部署一套minio试用。

1.关于minio的原理和概念参考:
https://mp.weixin.qq.com/s?__biz=MzI3MDM5NjgwNg==&mid=2247487162&idx=1&sn=39c683a43ec2678fbf6d767f6ab6dcc6&chksm=ead0f253dda77b459edaf514cf72fc03546f2c5075c7b131c34b34772ca3517cab170d94c056#rd
2. 官网k8s部署minio方法说明:
https://min.io/docs/minio/kubernetes/upstream/index.html

二、yaml内容

参考:
https://www.jianshu.com/p/2d45990dd652

https://raw.githubusercontent.com/minio/docs/master/source/extra/examples/minio-dev.yaml文档yaml内容:

# Deploys a new Namespace for the MinIO Pod
apiVersion: v1
kind: Namespace
metadata:name: minio-dev # Change this value if you want a different namespace namelabels:name: minio-dev # Change this value to match metadata.name
---
# Deploys a new MinIO Pod into the metadata.namespace Kubernetes namespace
#
# The `spec.containers[0].args` contains the command run on the pod
# The `/data` directory corresponds to the `spec.containers[0].volumeMounts[0].mountPath`
# That mount path corresponds to a Kubernetes HostPath which binds `/data` to a local drive or volume on the worker node where the pod runs
# 
apiVersion: v1
kind: Pod
metadata:labels:app: minioname: minionamespace: minio-dev # Change this value to match the namespace metadata.name
spec:containers:- name: minioimage: quay.io/minio/minio:latestcommand:- /bin/bash- -cargs: - minio server /data --console-address :9090volumeMounts:- mountPath: /dataname: localvolume # Corresponds to the `spec.volumes` Persistent VolumenodeSelector:kubernetes.io/hostname: kubealpha.local # Specify a node label associated to the Worker Node on which you want to deploy the pod.volumes:- name: localvolumehostPath: # MinIO generally recommends using locally-attached volumespath: /mnt/disk1/data # Specify a path to a local drive or volume on the Kubernetes worker nodetype: DirectoryOrCreate # The path to the last directory must exist

实际使用到的minio.yaml配置文件:

apiVersion: v1
kind: PersistentVolume
metadata:labels:app: miniorelease: minioname: minionamespace: sscs-dev
spec:accessModes:- ReadWriteOncecapacity:storage: 10GivolumeMode: FilesystemhostPath:path: /home/cicd/sscs-dev/minio
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:# This name uniquely identifies the PVC. Will be used in deployment below.name: minio-pv-claimlabels:app: minio-storage-claimnamespace: sscs-dev
spec:# Read more about access modes here: https://kubernetes.io/docs/user-guide/persistent-volumes/#access-modesaccessModes:- ReadWriteOnceresources:# This is the request for storage. Should be available in the cluster.requests:storage: 10Gi# Uncomment and add storageClass specific to your requirements below. Read more https://kubernetes.io/docs/concepts/storage/persistent-volumes/#class-1#storageClassName:
---
apiVersion: apps/v1
kind: Deployment
metadata:# This name uniquely identifies the Deploymentname: minio-deploymentnamespace: sscs-dev
spec:strategy:type: Recreateselector:matchLabels:app: miniotemplate:metadata:labels:# Label is used as selector in the service.app: miniospec:# Refer to the PVC created earliervolumes:- name: storagepersistentVolumeClaim:# Name of the PVC created earlierclaimName: minio-pv-claimimagePullSecrets:- name: sscs-secretcontainers:- name: minio# Pulls the default MinIO image from Docker Hubimage: artifact.srdcloud.cn/khala_insight-release-docker-local/minio:latest# 注意:--console-address ":5000"用来固定控制台访问端口,否则页面会无法访问控制台command:- /bin/sh- -c- minio server /data --console-address ":5000"args:- server- /storageenv:# MinIO access key and secret key- name: MINIO_ACCESS_KEYvalue: "admin123"- name: MINIO_SECRET_KEYvalue: "admin123"ports:- name: datacontainerPort: 9000protocol: "TCP"- name: consolecontainerPort: 5000protocol: "TCP"# Mount the volume into the podvolumeMounts:- name: storage # must match the volume name, abovemountPath: "/storage"
---
apiVersion: v1
kind: Service
metadata:namespace: sscs-devname: minio-servicespec:type: NodePortports:- name: dataport: 9000targetPort: 9000protocol: TCP- name: consoleport: 5000targetPort: 5000protocol: TCPselector:app: minio

注意事项:
要添加--console-address ":5000"命令参数来固定控制台端口,否则页面会无法访问。

三、步骤

3.1 创建资源

执行命令:kubectl apply -f minio.yaml

3.2 查看启动日志

kubectl get pod -n sscs-dev | grep minio查看pod运行状态,正常:
在这里插入图片描述
kubectl logs -f minio-deployment-54648b586-kxcbn -n sscs-dev查看pod运行日志:
在这里插入图片描述
可以看到控制台端口5000,说明命令参数--console-address ":5000"生效。

3.2 查看svc并访问控制台

执行命令:kubectl get svc -n sscs-dev | grep minio
在这里插入图片描述
yaml中使用的svc是nodePort类型,可以看到以上控制台5000端口映射主机32108端口,则访问地址为: 服务器ip:32108
在这里插入图片描述

出现以上页面表示成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/198312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国防科技大博士招生入学考试【50+论文主观题】

目录 回答模板大意创新和学术价值启发 论文分类(根据问题/场景分类)数学问题Efficient Multiset Synchronization(高效的多集同步【简单集合/可逆计数Bloom过滤器】)大意创新和学术价值启发 An empirical study of Bayesian netwo…

Python中函数添加超时时间,Python中signal使用

from time import time, sleepimport signal# 模拟要删除5条数据,中间有超时的i 5# 超时后执行的方法def timeout_handler(signal, frame):# 引发异常raise TimeoutError("删除第" str(i) "条,超时!")# 或者执行其他操作,不往外抛异常(超时的函数不会被…

JAVA代码优化:字符串工具类

字符串工具类,提供了一系列处理字符串的常用方法,包括判空、截取、格式化、转换等功能。 nvl(T value, T defaultValue):用于获取参数不为空的值,如果参数为空则返回默认值。 isEmpty和isNotEmpty系列方法:用于判断集…

使用Spring Cloud搭建一个项目框架之父子模块的创建

前言 说实在的,Spring Cloud的这个系列,很多人都写过,写的比博主好的一大堆,网友们百度一下,就可以发现很多很多,甚至有一批都是系列文章,我只不过之前学过一段时间,但是过了一段时…

ubuntu 系统部署 Stable Video Diffusion

11月21日,stability.ai 发布了生成式视频模型 Stable Video Diffusion(SVD) 。 官方博客链接:Introducing Stable Video Diffusion — Stability AIgit地址:GitHub - Stability-AI/generative-models: Generative Mod…

Failure[ERROR_GET_BUNDLE_INSTALLER_FAILED]【Bug已解决-鸿蒙开发】

文章目录 项目场景:问题描述原因分析(Bug已找到原因):解决方案(Bug已解决):Bug解决总结项目场景: 在运行/调试过程中出现“Failure[ERROR_GET_BUNDLE_INSTALLER_FAILED]”错误。 报错如下: 11/17 11:14:05: Launching com.example.helloworld $ hdc shell am force-…

ElasticSearch基础知识

ElasticSearch是一个高扩展的分布式全文搜索引擎,基于Lucene作为核心实现所有索引和搜索的功能。 使用场景: (1)搜索领域:如维基百科、谷歌,全文检索等。 (2)网站具体内容&#xf…

CentOS部署python Flask项目

CentOS部署python Flask项目 将项目打包成tar.gz包并上传到公网linux服务器(centos) 将整个文件夹压缩为xxx.tar.gz tar -zcvf xxx.tar.gz 文件夹名挑选文件进行打包 tar -zcvf xxx.tar.gz file1 file2 file3上传到linux服务器 scp xxx.tar.gz 用户名服务器ip:上传到服务…

errors包源码理解

文章目录 前言一、概述二、源码理解包函数NewUnwrapIsAsJoin 结构errorStringerrorString方法Error joinErrorjoinError方法ErrorUnwrap 变量ErrUnsupportederrorType 总结 前言 本文章帮助大家对errors包的理解。 一、概述 errors是Go语言内置的标准库之一,用于处…

聊聊 Jetpack Compose 的 “状态订阅自动刷新” -- mutableStateListOf

Jekpack Compose “状态订阅&自动刷新” 系列: 【 聊聊 Jetpack Compose 的 “状态订阅&自动刷新” - - MutableState/mutableStateOf 】 【 聊聊 Jetpack Compose 的 “状态订阅&自动刷新” - - remember 和重组作用域 】 【 聊聊 Jetpack Compose 的 …

腾讯云轻量应用服务器怎么安装宝塔Linux面板?

腾讯云轻量应用服务器宝塔面板怎么用?轻量应用服务器如何安装宝塔面板?在镜像中选择宝塔Linux面板腾讯云专享版,在轻量服务器防火墙中开启8888端口号,然后远程连接到轻量服务器执行宝塔面板账号密码查询命令,最后登录和…

洗袜子的洗衣机哪款好?最好用的迷你洗衣机推荐

内衣洗衣机是一种专门用于清洁内衣裤以及袜子等等贴身衣物的小型洗衣机。对于大部分的用户而言,内衣裤作为着我们日常生活中必不可少的贴身衣物,因此对于日常所穿内衣裤的清洁和卫生都是非常重要。不仅涉及到隐私部位的卫生安全,更容易影响自…

前端路由的hash模式和history模式

前端路由是现代单页面应用(SPA)中不可或缺的一部分,它允许用户在不重新加载整个页面的情况下,实现页面之间的切换。在前端路由的实现中,Hash模式和History模式是两种常见的技术。本文将深入探讨这两种模式的原理和区别…

javaEE -14(10000字 JavaScript入门 - 1)

一:初始 JavaScript JavaScript (简称 JS)是世界上最流行的编程语言之一,它是一个脚本语言, 通过解释器运,主要在客户端(浏览器)上运行, 现在也可以基于 node.js 在服务器端运行. JavaScript 和 HTML 和 CSS 之间的关系: HTML…

(C++)和为s的两个数字--双指针算法

个人主页:Lei宝啊 愿所有美好如期而遇 和为S的两个数字_牛客题霸_牛客网输入一个升序数组 array 和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果。题目来自【牛客题霸】https://www.nowcoder.com/practice/390da4f7a…

牛客剑指offer刷题其他算法篇

文章目录 构建乘积数组题目思路代码实现 第一个只出现一次的字符题目思路代码实现 替换空格题目思路代码实现 调整数组顺序使奇数位于偶数前面(一)题目思路代码实现 数组中出现次数超过一半的数字题目思路代码实现 整数中1出现的次数(从1到n整数中1出现的次数&#…

【力扣热题100】207. 课程表 python 拓扑排序

【力扣热题100】207. 课程表 python 拓扑排序 写在最前面207. 课程表解决方案:判断是否可以完成所有课程的学习方法:拓扑排序实现步骤Python 实现性能分析结论 写在最前面 刷一道力扣热题100吧 难度中等 https://leetcode.cn/problems/course-schedule…

探索C++14新特性:更强大、更高效的编程

探索C14新特性:更强大、更高效的编程 C14并没有太大的改动,就连官方说明中也指出,C14相对于C11来说是一个比较小的改动,但是在很大程度上完善了C11,所以可以说C14就是在C11标准上的查漏补缺。 C14在2014年8月18日正式…

C语言——I /深入理解指针(四)

一、回调函数是什么? 回调函数就是⼀个通过函数指针调⽤的函数。 如果你把函数的指针(地址)作为参数传递给另⼀个函数,当这个指针被⽤来调⽤其所指向的函数 时,被调⽤的函数就是回调函数。回调函数不是由该函数的实现…

计网Lesson7 - 超网与路由概述

文章目录 一、构造超网1 概念解析2 路由聚合判断网段 3 实例演示几个配置问题:传输过程中的若干问题包的问题传输时丢包的问题 4 判断是子网还是超网 二、路由概述1. 路由的作用2. 多个网段进行联络3. 数据包的传输 一、构造超网 1 概念解析 与划分子网相反&#…