前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将基于MicroProfile的应用程序部署到IBM Cloud Private上

将基于MicroProfile的应用程序部署到IBM Cloud Private上

作者头像
用户9527
发布2018-01-08 18:05:38
2.7K0
发布2018-01-08 18:05:38

Eclipse MicroProfile是一个用于优化微型服务体系结构的企业级Java的开源项目。基于MicroProfile的应用程序可以部署到Kubernetes上。本文介绍如何将示例应用程序部署到IBM Cloud Private上。

IBM Cloud private是一个基于 Kubernetes的平台,用于在本地运行云原生程序。它还配备了一个Docker镜像注册表。对于开发者来说,开发者将拥有一个社区版本,可以在一台虚拟机上运行所有的东西。

我使用的示例是一个简单的会议应用程序,此程序最初由 MicroProfile开发人员,稍后由IBM团队进行了一些细微的调整,用来展示IBM技术,类似于本周的开源项目 WebSphere Liberty。我的同事Animesh Singh和Ishan Gulhane已经记录了如何在Bluemix public上将这个示例部署到Kubernetes上。

将应用程序部署到IBM Cloud Private有不同的方法。我想稍后写一些关于使用交付管道的方法。下面,我将介绍在开发机器上如何通过命令行进行部署。

将示例部署到Bluemix public或IBM Cloud private的大多数步骤都是相同的。所以我在下面只记录两者有差异的地方。

The Microservice Builder Fabric通过helm命令进行安装,可以从安装文档或IBM Cloud的专用管理界面了解到。

在架构镜像之前,需要完成一些配置。需要更改开发机器的主机文件用来限定IP范围。另外,开发机器还需要配置Docker,使其能访问虚拟机上的Docker主机。这个过程有点棘手,特别是在Mac上。在一个终端中,调用这些命令:

代码语言:bash
复制
ssh cluster@192.168.178.36
代码语言:bash
复制
cd /etc/docker/certs.d/mycluster\:8500/
代码语言:bash
复制
cp ca.crt/tmp/

在第二个终端中,运行这些命令:

代码语言:javascript
复制
sudo screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
代码语言:bash
复制
mkdir /etc/docker/certs.d/
代码语言:bash
复制
mkdir /etc/docker/certs.d/mycluster:8500/
代码语言:docker
复制
cd /etc/docker/certs.d/mycluster:8500/
代码语言:bash
复制
scp cluster@192.168.178.36:/tmp/ca.crt .

在此之后,你应该能够访问IBM Cloud Private(用户:admin,pw:admin)上的Docker注册表:

代码语言:bash
复制
docker login mycluster:8500
代码语言:bash
复制
docker build -t mycluster:8500/admin/microservice-vote-cloudant sample.microservicebuilder.vote
代码语言:bash
复制
docker push mycluster:8500/admin/microservice-vote-cloudant

还有一个用来build和push六个镜像的脚本。如果你想使用它,请运行“./scripts/build_and_push_docker_images.sh mycluster:8500/admin”。

在push完镜像之后,你还可以在IBM Cloud专用管理界面中看到这些镜像。

在部署示例之前,需要先配置Kubernetes。打开管理界面(如https://192.168.178.36:8443)并选择“配置客户端”。将这些命令复制并粘贴到你的终端中。例如:

代码语言:bash
复制
kubectl config set -cluster mycluster --server=https://192.168.178.36:8001 --insecure -skip -tls -verify=true
代码语言:bash
复制
kubectl config set-context mycluster-context --cluster=mycluster
代码语言:bash
复制
kubectl config set-credentials mycluster-user --token=eyJhbG ...... q_ATOQe-J2A
代码语言:bash
复制
kubectl config set-context mycluster-context --user=mycluster-user --namespace=default
代码语言:bash
复制
kubectl config use-context mycluster-context

'kubectl create -f manifests'开始部署需要花费几分钟的时间。通过http://192.168.178.36:30056/#/speakers访问该示例程序。

再次感谢Ansgar Schmidt帮助我完成设置。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档