18.4. 教程:部署应用程序
18.4.1. 使用 Kubernetes 部署 OSToy 应用程序
您可以通过在镜像存储库中创建并存储前端和后端微服务容器的镜像,以部署 OSToy 应用。然后,您可以创建 Kubernetes 部署来部署应用程序。
18.4.1.1. 检索 login 命令
- 如果没有登录到 CLI,使用 Web 控制台访问集群。
单击右上角的登录名称旁边的下箭头,然后选择 Copy Login Command。
此时会打开一个新标签页。
- 选择您的验证方法。
- 单击 Display Token。
- 使用此令牌将命令复制到 Log in 下。
在终端中粘贴并运行复制的命令。如果登录成功,您会看到以下确认信息:
$ oc login --token=<your_token> --server=https://api.osd4-demo.abc1.p1.openshiftapps.com:6443 Logged into "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443" as "rosa-user" using the token provided. You don't have any projects. You can try to create a new project, by running oc new-project <project name>
18.4.1.2. 创建新项目
18.4.1.2.1. 使用 CLI
运行以下命令,在集群中创建一个名为
ostoy
的新项目:$ oc new-project ostoy
输出示例
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
可选 :或者,运行以下命令来创建唯一的项目名称:
$ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
18.4.1.2.2. 使用 Web 控制台
-
在 Web 控制台中,点击 Home
Projects。 在 Projects 页面上,单击 Create Project。
18.4.1.3. 部署后端微服务
微服务为内部 Web 请求提供服务,并返回包含当前主机名和随机生成的颜色字符串的 JSON 对象。
通过在终端中运行以下命令来部署微服务:
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml
输出示例
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-microservice-deployment.yaml deployment.apps/ostoy-microservice created service/ostoy-microservice-svc created
18.4.1.4. 部署前端服务
前端部署将 Node.js 前端用于应用和其他 Kubernetes 对象。
ostoy-frontend-deployment.yaml
文件显示前端部署定义了以下功能:
- 持久性卷声明
- Deployment 对象
- Service
- Route
- configmaps
Secrets
输入以下命令部署应用程序前端并创建所有对象:
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
输出示例
persistentvolumeclaim/ostoy-pvc created deployment.apps/ostoy-frontend created service/ostoy-frontend-svc created route.route.openshift.io/ostoy-route created configmap/ostoy-configmap-env created secret/ostoy-secret-env created configmap/ostoy-configmap-files created secret/ostoy-secret created
您应该会看到所有创建成功的对象。
18.4.1.5. 获取路由
您必须获取访问应用程序的路由。
运行以下命令,获取到应用程序的路由:
$ oc get route
输出示例
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD ostoy-route ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com ostoy-frontend-svc <all> None
18.4.1.6. 查看应用程序
-
复制上一步中的
ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com
URL 输出。 将复制的 URL 粘贴到网页浏览器中,然后按 Enter 键。您应该会看到应用程序的主页。如果页面没有加载,请确保使用
http
而不是https
。