部署MinIO Operator
| |
| curl https://github.com/minio/operator/releases/download/v5.0.9/kubectl-minio_5.0.9_linux_amd64 -o kubectl-minio |
| |
| |
| chmod +x kubectl-minio |
| |
| |
| mv kubectl-minio /usr/local/bin/ |
| |
| |
| [root@node1 ~] |
| v5.0.9 |
| [root@node1 ~] |
初始化 MinIO K8s Operator
执行kubectl minio init命令进行初始化,默认资源将会部署到minio-operator名称空间下
| |
| |
| [root@node1 ~] |
| namespace/minio-operator created |
| serviceaccount/minio-operator created |
| clusterrole.rbac.authorization.k8s.io/minio-operator-role created |
| clusterrolebinding.rbac.authorization.k8s.io/minio-operator-binding created |
| customresourcedefinition.apiextensions.k8s.io/tenants.minio.min.io created |
| customresourcedefinition.apiextensions.k8s.io/policybindings.sts.min.io created |
| service/operator created |
| service/sts created |
| deployment.apps/minio-operator created |
| serviceaccount/console-sa created |
| secret/console-sa-secret created |
| clusterrole.rbac.authorization.k8s.io/console-sa-role created |
| clusterrolebinding.rbac.authorization.k8s.io/console-sa-binding created |
| configmap/console-env created |
| service/console created |
| deployment.apps/console created |
| ----------------- |
| |
| To open Operator UI, start a port forward using this command: |
| |
| kubectl minio proxy -n minio-operator |
验证查看资源的部署情况
| [root@node1 ~] |
| NAME READY STATUS RESTARTS AGE |
| pod/console-6dc9887578-hccsx 1/1 Running 0 2m49s |
| pod/minio-operator-c9567668c-9rjw2 1/1 Running 0 2m49s |
| pod/minio-operator-c9567668c-nftmn 1/1 Running 0 2m49s |
| |
| NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE |
| service/console ClusterIP 10.103.70.66 9090/TCP,9443/TCP 2m49s |
| service/operator ClusterIP 10.105.129.185 4221/TCP 2m50s |
| service/sts ClusterIP 10.107.119.42 4223/TCP 2m50s |
| |
| NAME READY UP-TO-DATE AVAILABLE AGE |
| deployment.apps/console 1/1 1 1 2m49s |
| deployment.apps/minio-operator 2/2 2 2 2m50s |
| |
| NAME DESIRED CURRENT READY AGE |
| replicaset.apps/console-6dc9887578 1 1 1 2m49s |
| replicaset.apps/minio-operator-c9567668c 2 2 2 2m50s |
临时启用流量转发来管理操作MinIO Operator console
| [root@node1 ~]# kubectl minio proxy |
| Starting port forward of the Console UI. |
| |
| To connect open a browser and go to http://localhost:9090 |
| |
| Current JWT to login: eyJhbGciOiJSUzI1NiIsImtpZCI6IkVoT2cwNVEwVDZGMWhCLXltRmZkMnJZczdLS0lTejZMalV3b3o4azNPdzQifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJtaW5pby1vcGVyYXRvciIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJjb25zb2xlLXNhLXNlY3fdfdfIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJjb25zb2xlLXNhIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMTI4NTYzYjctZGU1My00MWE0LTk0ZjItNDNiM2NiNTVjNWVjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Om1pbmlvLW9wZXJhdG9yOmNvbnNvbGUtc2EifQ.daFEPrOnBzbZvoERrkikNlNR8F3PGnKfLMXCK2oWB6LrPpo7Zdkw3fdfdubzBzKKK4u8Mvi3HFGp49E-S_GXPulaOcwy-JKoeYkTbe-wOOQMreeyZO5ENPiuYXVAuB-GRJhneQwTxKXc6uUQDQ3awHTeNlRokPuvy59tqkrGcQjiX5JOHVCOgzb9QHRSvF5uKV2GIprG9Se2kV18UKJxR3t5OQ5-EqSn35reZdckrtEi2U2e_JWY8SORHl6WsQVmYWricRpT5HlYZ_6SI23kwHjO3oXCeGWSdE-Ea-trF5dUXn06x3bVVSIoLqByW1MWBPgpB7_s_w |
| |
| Forwarding from 0.0.0.0:9090 -> 9090 |
使用上面输出的JWT登陆访问页面


其他的一些选项可以根据自己的需要进行配置,配置完成后点击创建即可
创建后会有用户名和密码的提示

在面板中还可以看到资源的使用情况

查看该Tenant在k8s名称空间中的部署情况
| [root@node1 ~] |
| NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES |
| pod/my-minio-pool-0-0 2/2 Running 0 2m56s 10.244.4.40 node4 |
| pod/my-minio-pool-0-1 2/2 Running 0 2m56s 10.244.6.36 desktop |
| pod/my-minio-pool-0-2 2/2 Running 0 2m56s 10.244.5.35 node5 |
| pod/my-minio-pool-0-3 2/2 Running 0 2m56s 10.244.3.67 node3 |
| |
| NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR |
| service/minio LoadBalancer 10.98.230.179 443:30541/TCP 2m57s v1.min.io/tenant=my-minio |
| service/my-minio-console LoadBalancer 10.100.146.17 9443:31951/TCP 2m57s v1.min.io/tenant=my-minio |
| service/my-minio-hl ClusterIP None 9000/TCP 2m57s v1.min.io/tenant=my-minio |
| |
| NAME READY AGE CONTAINERS IMAGES |
| statefulset.apps/my-minio-pool-0 4/4 2m56s minio,sidecar minio/minio:RELEASE.2023-09-20T22-49-55Z,minio/operator:v5.0.9 |
访问服务验证
使用前面创建Tenant时候的用户密码登陆,可以看到连接是ssl连接的


遇到的错误
在使用命令行客户端进行连接的时候会提示连接失败
| [root@node1 ~]# mc alias set my-tenant https://10.100.146.17:9443 "QO9o1LMYiW7n6RNe" "fc09mCdOcr5tMVBltCPdTXKW3z4jZUn3" |
| mc: Unable to initialize new alias from the provided credentials. Get "https://10.100.146.17:9443": tls: failed to verify certificate: x509: cannot validate certificate for 10.100.146.17 because it doesn't contain any IP SANs. |
| |
参考文章