minio 用k8s编排并用ingerss代理
要在Kubernetes上使用MinIO,我们需要编写一个Kubernetes部署文件(Deployment)来创建MinIO实例,并使用Ingress来代理流量。
首先,创建一个名为minio-deployment.yaml的文件,并添加以下内容:
apiVersion: apps/v1
kind: Deployment
metadata:
name: minio-deployment
spec:
replicas: 1
selector:
matchLabels:
app: minio
template:
metadata:
labels:
app: minio
spec:
containers:
- name: minio
image: minio/minio:RELEASE.2021-10-07T00-05-37Z
args:
- server
- /data
ports:
- containerPort: 9000
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: minio-pvc
在上面的文件中,我们定义了一个名为minio-deployment的Deployment,它使用MinIO的Docker镜像创建一个容器。我们将容器的端口映射到主机的9000端口,并将/data目录挂载为持久卷。
接下来,我们需要创建一个名为minio-service.yaml的文件,并添加以下内容:
apiVersion: v1
kind: Service
metadata:
name: minio-service
spec:
selector:
app: minio
ports:
- protocol: TCP
port: 9000
targetPort: 9000
这将创建一个名为minio-service的Service,它将流量转发到MinIO容器的9000端口。
最后,我们需要创建一个名为minio-ingress.yaml的文件,并添加以下内容:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: minio-ingress
spec:
rules:
- host: minio.example.com
http:
paths:
- pathType: Prefix
path: /
backend:
service:
name: minio-service
port:
number: 9000
在上面的文件中,我们将Ingress配置为将流量转发到名为minio-service的Service,并将其绑定到minio.example.com主机名。
现在,我们可以使用kubectl命令来应用这些部署文件:
kubectl apply -f minio-deployment.yaml
kubectl apply -f minio-service.yaml
kubectl apply -f minio-ingress.yaml
在部署成功后,你就可以通过minio.example.com访问MinIO了。请确保你的域名解析正确,并且Ingress Controller已经正确配置
原文地址: http://www.cveoy.top/t/topic/hY5g 著作权归作者所有。请勿转载和采集!