在k8s中以deployment方式部署minio

2024-04-28 19:20

本文主要是介绍在k8s中以deployment方式部署minio,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

minio官网给的demo是通过pod方式部署的,我碰到了好几次因为k8s集群断电重启后,以单pod方式部署部署的minio消失。因此这里改用deplyment的方式部署minio。

以下是完整的minio部署清单

---
# 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: apps/v1
kind: Deployment
metadata:name: minionamespace: devops
spec:replicas: 1selector:matchLabels:app: miniotemplate:metadata:labels:app: miniospec:containers:- name: minioimage: 192.168.10.30:9000/minio:latestcommand:- /bin/bash- -cargs:- minio server /data --console-address :9001env:- name: MINIO_SERVER_URLvalue: 'http://minio.rockstics.com'- name: MINIO_BROWSER_REDIRECT_URLvalue: 'http://minio.rockstics.com/minio/ui'volumeMounts:- mountPath: /dataname: localvolume # Corresponds to the `spec.volumes` Persistent VolumehostAliases:- ip: "192.168.10.188"hostnames:- "minio.rockstics.com"volumes:- name: localvolumehostPath: # MinIO generally recommends using locally-attached volumespath: /data/minio # Specify a path to a local drive or volume on the Kubernetes worker nodetype: DirectoryOrCreate # The path to the last directory must existnodeSelector:kubernetes.io/hostname: kubernetesw02---
kind: Service
apiVersion: v1
metadata:name: minio-servernamespace: devopslabels:app: minio-server
spec:ports:- name: http-consoleprotocol: TCPport: 9001targetPort: 9001- name: http-apiprotocol: TCPport: 9000targetPort: 9000selector:app: minio
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:annotations:labels:app: minioname: minionamespace: devops
spec:routes:- kind: Rulematch: Host(`minio.isiact.com`)services:- kind: Servicename: minio-servernamespace: devopsport: http-api- kind: Rulematch: Host(`minio.isiact.com`) && PathPrefix(`/minio/ui`)middlewares:- name: minio-consoleservices:- kind: Servicename: minio-servernamespace: devopsport: http-console
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:annotations:name: minio-consolenamespace: devops
spec:stripPrefix:prefixes:- /minio/ui

题外话:由于我通过MINIO_SERVER_URL指定了minio的内网访问域名,导致登录minio报"invalid login"的问题,刚开始以为是挂载的数据路径中有.minio.sys 相关信息(包括minio配置信息包括用户密码,assce_key等信息)被其他容器挂载无效,实践证明不是这样的,后来才发现是因为容易内无法解析我的内网域名导致的,解决方案就是直接进行host绑定。

这篇关于在k8s中以deployment方式部署minio的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944056

相关文章

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Spring Boot读取配置文件的五种方式小结

《SpringBoot读取配置文件的五种方式小结》SpringBoot提供了灵活多样的方式来读取配置文件,这篇文章为大家介绍了5种常见的读取方式,文中的示例代码简洁易懂,大家可以根据自己的需要进... 目录1. 配置文件位置与加载顺序2. 读取配置文件的方式汇总方式一:使用 @Value 注解读取配置方式二

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

C# foreach 循环中获取索引的实现方式

《C#foreach循环中获取索引的实现方式》:本文主要介绍C#foreach循环中获取索引的实现方式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、手动维护索引变量二、LINQ Select + 元组解构三、扩展方法封装索引四、使用 for 循环替代

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

Java数组初始化的五种方式

《Java数组初始化的五种方式》数组是Java中最基础且常用的数据结构之一,其初始化方式多样且各具特点,本文详细讲解Java数组初始化的五种方式,分析其适用场景、优劣势对比及注意事项,帮助避免常见陷阱... 目录1. 静态初始化:简洁但固定代码示例核心特点适用场景注意事项2. 动态初始化:灵活但需手动管理代

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

C#TextBox设置提示文本方式(SetHintText)

《C#TextBox设置提示文本方式(SetHintText)》:本文主要介绍C#TextBox设置提示文本方式(SetHintText),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录C#TextBox设置提示文本效果展示核心代码总结C#TextBox设置提示文本效果展示核心代