This documentation is for a release that is no longer maintained
See documentation for the latest supported version.2.4. 在云中安装 Dev Spaces
在云中部署并运行 Red Hat OpenShift Dev Spaces。
先决条件
- 要在其上部署 OpenShift Dev Spaces 的 OpenShift 集群。
-
DSC
: Red Hat OpenShift Dev Spaces 的命令行工具。请参阅: 第 1.2 节 “安装 dsc 管理工具”。
2.4.1. 在云中部署 OpenShift Dev Spaces 复制链接链接已复制到粘贴板!
按照下面的说明,使用 dsc
工具在云中启动 OpenShift Dev Spaces 服务器。
2.4.2. 在 Microsoft Azure 上安装和设置 Dev Spaces 复制链接链接已复制到粘贴板!
Microsoft Azure 是一个云计算服务,用于通过 Microsoft 管理的数据中心构建、测试、部署和管理应用程序和服务。
按照以下说明在 Microsoft Azure 上安装并启用 OpenShift Dev Spaces。
先决条件
-
Helm
:Kubernetes 的软件包管理器。请参阅: 安装 Helm。 -
Az
: Microsoft Azure CLI 命令行工具。请参阅: 如何安装 Microsoft Azure CLI。 -
kubelogin
:凭证插件。请参阅: 如何安装 kubelogin。
2.4.2.1. 为 OpenShift Dev Spaces 安装准备 Microsoft Azure 复制链接链接已复制到粘贴板!
为 OpenShift Dev Spaces 安装准备 Microsoft Azure。
流程
登录到 Microsoft Azure:
az login
az login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建资源组(要列出位置,请使用
az account list-locations
命令):Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建集群管理员组:
Azure Active Directory group name
# Azure Active Directory group name AAD_GROUP_NAME=AKSAdmins az ad group create --display-name $AAD_GROUP_NAME --mail-nickname $AAD_GROUP_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将当前用户添加到 cluster admins 组中:
az ad group member add --group $AAD_GROUP_NAME \ --member-id $(az ad signed-in-user show --query id --output tsv)
az ad group member add --group $AAD_GROUP_NAME \ --member-id $(az ad signed-in-user show --query id --output tsv)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Microsoft Entra 集成集群:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取用户凭证来访问集群:
az aks get-credentials \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --name $AKS_CLUSTER_NAME \ --admin
az aks get-credentials \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --name $AKS_CLUSTER_NAME \ --admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
kubelogin
设置为使用 Microsoft Azure CLI:kubelogin convert-kubeconfig -l azurecli
kubelogin convert-kubeconfig -l azurecli
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看集群中的 pod:
oc get pods --all-namespaces
oc get pods --all-namespaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 验证
此时会显示处于 running 状态的所有 pod。
使用以下说明在 Microsoft Azure Kubernetes Service 上安装 NGINX Ingress Controller。
流程
安装 NGINX Ingress Controller:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 等待外部 IP。请注意,在显示确切的外部 IP 地址前,会显示外部 IP 的 <
pending
> 状态。oc get services ingress-nginx-controller --namespace ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.0.65.52 XX.XXX.XX.XXX 80:31104/TCP,443:32552/TCP 13m
oc get services ingress-nginx-controller --namespace ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.0.65.52 XX.XXX.XX.XXX 80:31104/TCP,443:32552/TCP 13m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
了解如何在 Microsoft Azure Kubernetes Service 上安装 cert-manager。
流程
安装 cert-manager :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4.2.4. 在 Microsoft Azure 上配置 DNS 复制链接链接已复制到粘贴板!
在 Microsoft Azure 上配置 DNS。开始之前,请确保您有一个注册的域。
先决条件
- 注册的域。
流程
定义域名。
export DOMAIN_NAME=azr.my-ide.cloud
export DOMAIN_NAME=azr.my-ide.cloud
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 DNS 区:
az network dns zone create \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --name $DOMAIN_NAME
az network dns zone create \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --name $DOMAIN_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 DNS 记录集:
az network dns record-set a add-record \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --zone-name $DOMAIN_NAME \ --record-set-name "*" \ --ipv4-address $(oc get service -n ingress-nginx ingress-nginx-controller -o=jsonpath='{.status.loadBalancer.ingress[0].ip}')
az network dns record-set a add-record \ --resource-group $ECLIPSE_CHE_RESOURCE_GROUP \ --zone-name $DOMAIN_NAME \ --record-set-name "*" \ --ipv4-address $(oc get service -n ingress-nginx ingress-nginx-controller -o=jsonpath='{.status.loadBalancer.ingress[0].ip}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您使用一个注册商,如 GoDaddy,则需要在注册商中添加以下两个 DNS 记录,并将其指向入口控制器的 IP 地址:X type: A
* name: @
和 *
+ .additional 资源
2.4.2.5. 在 Microsoft Azure 上为 devspaces 创建 Let 的加密证书 复制链接链接已复制到粘贴板!
按照以下说明,在 Microsoft Azure 上为 OpenShift Dev Spaces 创建 Let 的 Encrypt 证书。
流程
创建服务主体:
CERT_MANAGER_SERVICE_PRINCIPAL_NAME=cert-manager-eclipse-che CERT_MANAGER_SERVICE_PRINCIPAL_APP_ID=$(az ad sp create-for-rbac --name $CERT_MANAGER_SERVICE_PRINCIPAL_NAME --query "appId" --output tsv)
CERT_MANAGER_SERVICE_PRINCIPAL_NAME=cert-manager-eclipse-che CERT_MANAGER_SERVICE_PRINCIPAL_APP_ID=$(az ad sp create-for-rbac --name $CERT_MANAGER_SERVICE_PRINCIPAL_NAME --query "appId" --output tsv)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 授予对 DNS 区的访问权限:
az role assignment create \ --assignee $CERT_MANAGER_SERVICE_PRINCIPAL_APP_ID \ --scope $(az network dns zone show --name $DOMAIN_NAME --resource-group $ECLIPSE_CHE_RESOURCE_GROUP --query "id" --output tsv) \ --role "DNS Zone Contributor"
az role assignment create \ --assignee $CERT_MANAGER_SERVICE_PRINCIPAL_APP_ID \ --scope $(az network dns zone show --name $DOMAIN_NAME --resource-group $ECLIPSE_CHE_RESOURCE_GROUP --query "id" --output tsv) \ --role "DNS Zone Contributor"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 openshift-devspaces 命名空间:
oc create namespace openshift-devspaces
oc create namespace openshift-devspaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建服务帐户 Secret:
oc create secret generic azuredns-config \ --from-literal=clientSecret=$(az ad sp create-for-rbac --name $CERT_MANAGER_SERVICE_PRINCIPAL_NAME --query "password" --output tsv) \ --namespace openshift-devspaces
oc create secret generic azuredns-config \ --from-literal=clientSecret=$(az ad sp create-for-rbac --name $CERT_MANAGER_SERVICE_PRINCIPAL_NAME --query "password" --output tsv) \ --namespace openshift-devspaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Issuer,并将
MY_EMAIL_ADDRESS
替换为有效的地址:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建证书:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您使用 registrar,如 GoDaddy,则需要在注册商中复制以下 DNS 记录:* type: TXT
* name: _acme-challenge
。
+ .additional 资源
2.4.2.6. 在 Microsoft Entra ID 中注册客户端应用程序 复制链接链接已复制到粘贴板!
了解如何在 Microsoft Entra ID 中注册客户端应用程序
流程
创建应用程序:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 更新应用程序组成员资格声明:
az ad app update \ --id $(az ad app list --query "[?displayName=='$ECLIPSE_CHE_APPLICATION_DISPLAY_NAME'].id" --output tsv) \ --set groupMembershipClaims=SecurityGroup
az ad app update \ --id $(az ad app list --query "[?displayName=='$ECLIPSE_CHE_APPLICATION_DISPLAY_NAME'].id" --output tsv) \ --set groupMembershipClaims=SecurityGroup
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在 Microsoft Azure Kubernetes Service 上安装 OpenShift Dev Spaces。
流程
准备 CheCluster 补丁 YAML 文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 部署 OpenShift Dev Spaces:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入 OpenShift Dev Spaces 集群实例:
dsc dashboard:open
$ dsc dashboard:open
Copy to Clipboard Copied! Toggle word wrap Toggle overflow