2.2. 使用 Kubernetes 部署 OSToy 应用程序
部署应用程序涉及创建容器镜像,将其存储在镜像存储库中,以及定义使用该镜像的 Deployment 对象。
部署应用程序涉及以下步骤:
- 为前端和后端微服务容器创建镜像
- 将容器镜像存储在镜像存储库中
- 为应用程序创建 Kubernetes Deployment 对象
- 部署应用程序
此研讨会侧重于应用程序部署,并使用户运行使用现有镜像的远程文件。
2.2.1. 检索 login 命令 复制链接链接已复制到粘贴板!
流程
运行以下命令确认您已登录到命令行界面(CLI):
rosa whoami
rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您登录到命令行界面,请跳至"创建新项目"。如果您没有登录到命令行界面,请继续这个过程。
- 使用 Web 控制台访问集群。
单击右上角的登录名称旁边的下箭头,然后选择 Copy Login Command。
此时会打开一个新标签页。
- 选择您的验证方法。
- 单击 Display Token。
- 使用此令牌将命令复制到 Log in 下。
在终端中粘贴并运行复制的命令。如果登录成功,您会看到以下确认信息:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2. 创建新项目 复制链接链接已复制到粘贴板!
使用您的首选接口创建新项目。
2.2.2.1. 使用 CLI 创建新项目 复制链接链接已复制到粘贴板!
流程
运行以下命令,在集群中创建一个名为
ostoy
的新项目:oc new-project ostoy
$ oc new-project ostoy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
Now using project "ostoy" on server "https://api.myrosacluster.abcd.p1.openshiftapps.com:6443".
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选 :运行以下命令来创建唯一项目名称:
oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
$ oc new-project ostoy-$(uuidgen | cut -d - -f 2 | tr '[:upper:]' '[:lower:]')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.2.2. 使用 Web 控制台创建新项目 复制链接链接已复制到粘贴板!
流程
-
在 Web 控制台中,点击 Home
Projects。 在 Projects 页面上,单击 Create Project。
- 在 Create Project 框中,在 Name 字段中输入项目名称。
- 点 Create。
2.2.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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.4. 部署前端微服务 复制链接链接已复制到粘贴板!
前端部署将 Node.js 前端用于应用和其他 Kubernetes 对象。
前端部署定义了以下功能:
- 持久性卷声明
- Deployment 对象
- 服务
- Route
- ConfigMaps
- Secrets
流程
运行以下命令部署应用程序前端并创建对象:
oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
$ oc apply -f https://raw.githubusercontent.com/openshift-cs/rosaworkshop/master/rosa-workshop/ostoy/yaml/ostoy-frontend-deployment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 所有对象都应成功创建。
2.2.5. 获取到应用程序的路由 复制链接链接已复制到粘贴板!
获取用于访问应用程序的路由。
流程
运行以下命令,获取到应用程序的路由:
oc get route
$ oc get route
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.6. 查看应用程序 复制链接链接已复制到粘贴板!
流程
-
复制上一步中的
ostoy-route-ostoy.apps.<your-rosa-cluster>.abcd.p1.openshiftapps.com
URL 输出。 将复制的 URL 粘贴到网页浏览器中,然后按 Enter 键。您应该会看到应用程序的主页。如果页面没有加载,请确保使用
http
而不是https
。