OpenShift 的 App Store:OperatorHub 中的 MinIO

OpenShift 的 App Store:OperatorHub 中的 MinIO

在云中运行 AI 数据存储基础设施非常昂贵。不仅存储数据的成本很高,而且每次应用程序使用来自 AI 数据存储基础设施的数据时,您都会被收取入口和出口费用。当云是新的,数据规模很小时,成本可以忽略不计。但随着云成本的上升,各行各业一直在寻求从云中汇回数据,同时又不损失云原生优势。这就是这里的关键,在不失去原生管理基础架构云的能力的情况下,从云中解脱出来。

这就是 OpenShift OperatorHub 的用武之地。OpenShift是云遣返运动的推动者之一。OpenShift 带来了世界一流的云原生能力,可直接从您自己的数据中心在您自己的基础架构上管理 Kubernetes。简而言之,OperatorHub 之于 OpenShift 就像 App Store 之于 Apple。借助 Web 控制台界面,可以从集群外源中拉取 Operator,在集群上安装和订阅,并为工程团队做好准备,以便跨部署环境自助管理产品。今天,我们将向您展示如何使用 OperatorHub 安装 MinIO Operator。在此过程中,我们将向您展示如何在将 OpenShift 与 MinIO operator 结合使用时设置和测试本地测试环境。

通过 OperatorHub 的 MinIO 操作员

请务必将 crc 安装在您的 Ubuntu 计算机上。要了解有关 CRC 的更多信息,请阅读这篇博文。

f4fo350nrc3dnmhn7hh3lve6e3m1.png

操作员控制台

公开操作员打开网页 http://localhost:9090/login ,从密钥中获取令牌

oc login -u kubeadmin https://api.crc.testing:6443
oc port-forward svc/console 9090 -n openshift-operators

unnamed20.png

应用这些权限以便能够创建命名空间并获取其配额,这将以某种方式获得在 OpenShift 中显示存储类的访问权限

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRole

metadata:

  name: cluster-role-cesar-5

rules:

  - apiGroups: [""]

	resources:

  	- namespaces

  	- resourcequotas

  	- deletecollection

	verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

---    

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

  name: role-binding-cesar-5

  namespace: openshift-operators

subjects:

- kind: ServiceAccount

  name: minio-operator

  namespace: openshift-operators

roleRef:

  kind: ClusterRole

  name: cluster-role-cesar-5

  apiGroup: rbac.authorization.k8s.io
oc login -u kubeadmin https://api.crc.testing:6443

oc apply -f ~/permissions.yaml
oc adm policy add-scc-to-user privileged -n openshift-operators -z minio-operator

oc adm policy add-scc-to-user privileged -n openshift-operators -z console-sa

oc adm policy add-scc-to-user privileged -n openshift-operators -z default

oc adm policy add-scc-to-user privileged -n openshift-operators -z builder

oc adm policy add-scc-to-user privileged -n openshift-operators -z deployer

---

oc create namespace rafta

oc create serviceaccount minio-operator -n rafta

oc adm policy add-scc-to-user privileged -n rafta -z minio-operator

oc adm policy add-scc-to-user privileged -n rafta -z builder

oc adm policy add-scc-to-user privileged -n rafta -z deployer

oc adm policy add-scc-to-user privileged -n rafta -z default

创建 MinIO 租户

通过操作员控制台创建租户

ahcuzrjsns979d3n2cqf4o7l5wyi.png

Access Key: STSKAzp1TAsd9TGV
Secret Key: XzMOmH6erHeXzBM8dWAsf5LlOfSRKw7k

然后在创建 pod 后查看问题

ERROR Unable to initialize backend: parity validation returned an error: parity 4 should be less than or equal to 0 <- (4, 1), for pool(1st)

要更正,请转到租户配置 http://localhost:9090/namespaces/rafta/tenants/rafta/configuration 并更改 EC:4 为 EC:0

unnamed21.png

更新证书

为了让 TLS 正常工作,我们必须更新 MinIO 操作员使用的证书,让我们继续这样做。

首先生成签名者的证书

oc get secret csr-signer -n openshift-kube-controller-manager-operator -o template='{{ index .data "tls.crt"}}' | base64 -d > route-ca.crt

然后,将上述证书及其签名者放在一个名为 ingress.pem 的文件中。

cat public.crt route-ca.crt > ingress.pem

使用上述 ingress.pem 文件和上一步中的private.key创建机密

oc create secret tls secretocuatro --cert=ingress.pem --key=private.key -n openshift-ingress

使用 kubectl 修补它,然后等待几分钟,让证书位于 /var/run/secrets/ kubernetes.io/serviceaccount/ca.crt 。

oc patch ingresscontroller.operator default --type=merge -p '{"spec":{"defaultCertificate": {"name": "secretocuatro"}}}' -n openshift-ingress-operator

稍等片刻,更改后一切准备就绪,操作员将工作并能够进行通信

h5ewna4uo86nuvokit3ic2bjm2hx.png

运营商应用商店

OperatorHub 是 OpenShift 生态系统事实上的 App Store of Operator。在 OperatorHub 上列出的运算符都经过了各自作者的全面测试、审查和支持。作者的范围从社区运营商到认证运营商(如MinIO),还有RedHat本身。这让您的组织高枕无忧,因为他们知道您的开发人员安装的操作员在安全性和合规性方面值得信任。因为他们可以访问非常关键的基础设施,而您不想只是从 GitHub 存储库中安装一些随机运算符,这可能会降低您的系统性能,或者在最坏的情况下损害它。因此,让您的开发人员能够访问此类运营商市场至关重要,这样他们就可以构建为您的应用程序提供支持所需的基础设施。

上一篇 下一篇