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上。在一个终端中,调用这些命令:
ssh cluster@192.168.178.36cd /etc/docker/certs.d/mycluster\:8500/cp ca.crt/tmp/在第二个终端中,运行这些命令:
sudo screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/ttymkdir /etc/docker/certs.d/mkdir /etc/docker/certs.d/mycluster:8500/cd /etc/docker/certs.d/mycluster:8500/scp cluster@192.168.178.36:/tmp/ca.crt .在此之后,你应该能够访问IBM Cloud Private(用户:admin,pw:admin)上的Docker注册表:
docker login mycluster:8500docker build -t mycluster:8500/admin/microservice-vote-cloudant sample.microservicebuilder.votedocker 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)并选择“配置客户端”。将这些命令复制并粘贴到你的终端中。例如:
kubectl config set -cluster mycluster --server=https://192.168.178.36:8001 --insecure -skip -tls -verify=truekubectl config set-context mycluster-context --cluster=myclusterkubectl config set-credentials mycluster-user --token=eyJhbG ...... q_ATOQe-J2Akubectl config set-context mycluster-context --user=mycluster-user --namespace=defaultkubectl config use-context mycluster-context
'kubectl create -f manifests'开始部署需要花费几分钟的时间。通过http://192.168.178.36:30056/#/speakers访问该示例程序。
再次感谢Ansgar Schmidt帮助我完成设置。