第 1 章 使用 Operator 在 Amazon Elastic Kubernetes Service (EKS)上安装 Developer Hub
要从与 Operator Lifecycle Manager (OLM)框架分发的基于 Operator 的应用提供的无线更新和目录中受益,请考虑使用红帽生态系统中发布的 Red Hat Developer Hub Operator 安装 Red Hat Developer Hub。
在 EKS 中,与基于 OpenShift 的安装相比最重要的区别是:
- OLM 框架和红帽生态系统不是内置的。
- 红帽生态系统 pull-secret 不全局管理。
- 要公开应用程序,入口替换 OpenShift Routes。
为清楚起见,内容在突出显示这些平台相关的额外步骤部分被分解。
红帽生态系统基于 Operator Lifecycle Manager (OLM)框架,包含 Red Hat Developer Hub Operator 的发布,旨在管理 Red Hat Developer Hub 实例生命周期。
但是,在 Amazon Elastic Kubernetes Service (EKS)上:
- Operator Lifecycle Manager (OLM)框架和红帽生态系统不是内置的。
- 红帽生态系统 pull-secret 不全局管理。
因此,安装 OLM 框架(红帽生态系统),并置备您的红帽生态系统 pull secret 来安装 Developer Hub Operator。
先决条件
-
您已在本地 环境上安装了
kubectlCLI。 - 您的系统满足 Red Hat Developer Hub 的大小要求。
- 已安装 Operator Lifecycle Manager (OLM)。
您的 Red Hat Container Registry 凭证:
- <redhat_user_name>
- <redhat_password>
- <email>
-
在当前
kubeconfig中将上下文设置为 EKS 集群。如需更多信息,请参阅为 Amazon EKS 集群创建或更新 kubeconfig 文件。
流程
创建
rhdh-operator命名空间使其包含 Red Hat Developer Hub Operator:kubectl create namespace rhdh-operator
$ kubectl create namespace rhdh-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用红帽凭证创建一个 pull secret,以便从受保护的红帽生态系统中拉取容器镜像:
kubectl -n rhdh-operator create secret docker-registry rhdh-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=<redhat_user_name> \ --docker-password=<redhat_password> \ --docker-email=<email>$ kubectl -n rhdh-operator create secret docker-registry rhdh-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=<redhat_user_name> \ --docker-password=<redhat_password> \ --docker-email=<email>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建包含红帽生态系统 Operator 的目录源:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个 operator 组来管理 Operator 订阅:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建订阅来安装 Red Hat Developer Hub Operator:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要等待 Operator 部署完成能够运行下一步,请运行:
until kubectl -n rhdh-operator get deployment rhdh-operator &>/dev/null; do echo -n . sleep 3 done echo "RHDH Operator Deployment created"
until kubectl -n rhdh-operator get deployment rhdh-operator &>/dev/null; do echo -n . sleep 3 done echo "RHDH Operator Deployment created"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Operator 部署清单中包括 pull secret 名称,以避免
ImagePullBackOff错误:kubectl -n rhdh-operator patch deployment \ rhdh-operator --patch '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"rhdh-pull-secret"}]}}}}' \ --type=merge$ kubectl -n rhdh-operator patch deployment \ rhdh-operator --patch '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"rhdh-pull-secret"}]}}}}' \ --type=mergeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证部署名称:
kubectl get deployment -n rhdh-operator
$ kubectl get deployment -n rhdh-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow