MinIO を Kubernetes で動かしたい。
環境は、 Rancher Desktop のKubernetes
manifestをapplyする
https://min.io/docs/minio/kubernetes/upstream/index.html
spec.volumes[0].hostPath.path
を任意のローカルのパスにする
spec.nodeSelector
を kubernetes.io/os: linux
にする
ローカルから疎通できるようにする
⇒ localhost:9000 でコンソールが開いた。
できたけどpod間通信のためにservice作ったりするのが面倒そうなので、helmにしてみる
helmでデプロイする
MinIOのカスタムリソースを管理するOperatorと、オブジェクトを格納するTenantに分かれているので、まずOperatorをインストールする。
operator/helm/operator/README.md at master · minio/operator
Simple Kubernetes Operator for MinIO clusters :computer: - minio/operator
次にtenantを入れる。
operator/helm/tenant/README.md at master · minio/operator
Simple Kubernetes Operator for MinIO clusters :computer: - minio/operator
デフォルトのstorageClassNameがローカルでは存在しなかったので、values.yamlを書いてカスタマイズする。
values_tenant.yaml
⇒ https://localhost:19443 でコンソールが開く
username:passwordは、デフォルトで minio:minio123
aws cliでs3に接続する
aws-cliのPodを作成して、中からminioにアクセスしてみる。
minioのエンドポイントは、kubectl logs
でtenantのpodのログに出力されているのを確認する。
myminio-pool-0-2 minio {"level":"INFO","errKind":"","time":"2023-07-04T03:09:43.126781416Z","message":"S3-API: https://minio.tenant-ns.svc.cluster.local "}