将基于MicroProfile的应用程序部署到IBMCloudPrivate


Eclipse MicroProfile是一个开源项目,用于优化Java企业版的微服务体系结构。基于MicroProfile的应用程序可以部署到Kubernetes(Google开源的Docker容器集群管理系统)上。本文将示范如何将应用程序部署到IBM Cloud Private

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

我使用的是一个简单的会议应用程序,最初由MicroProfile开发人员提供,后来IBM团队稍加改进,用来展示这周开放源代码的 WebSphere Liberty(JavaEE应用程序服务器)等IBM技术。我的同事Animesh Singh和Ishan Gulhane已经记录了如何在Bluemix public上将这个例子部署到Kubernetes。

将应用程序部署到IBM Cloud Private有多种方法。我将稍后提供一个使用交付管道来部署的方法。下面,我将介绍如何通过命令行从开发机器进行部署。

将示例部署到Bluemix Public或IBM Cloud Private的大多数步骤都是相同的。所以我只记录下面的差异。

微服务构建器可以通过helm命令进行安装,也可以在IBM Cloud Private管理界面上进行安装。

在建立镜像之前,需要先进行一些配置。在开发机器的host文件增加集群的IP。另外,为了访问虚拟机中Docker的host文件,开发机器中的Docker需要重新配置。这个过程有点麻烦,特别是在Mac上。在一个终端中,调用这些命令:

ssh cluster@192.168.178.36
cd /etc/docker/certs.d/mycluster:8500/
cp ca.crt /tmp/ 

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

sudo screen 〜/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
mkdir /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,密码:admin)上的Docker注册表:

docker login mycluster:8500
docker build -t mycluster:8500/admin/microservice-vote-cloudant sample.microservicebuilder.vote
docker push mycluster:8500/admin/microservice-vote-cloudant

还有一个脚本可以用来建立和上传所有六个镜像。如果你想使用它,请运行“./scripts/build_and_push_docker_images.sh mycluster:8500/admin”。

在上传完镜像之后,您还可以在IBM Cloud Private管理界面中看到这些镜像。

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

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

使用命令"kubectl create -f manifests"可以开始部署,这需要几分钟时间。部署完成后,可以访问应用程序,例如通过http://192.168.178.36:30056/#/speakers。

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

优质内容筛选与推荐>>
1、应用程序协议中消息的成帧与解析
2、WF4.0以上使用代码完整自定义动态生成执行工作流Xaml文件
3、Javascript语言精粹之Array常用方法分析
4、window linux IPC ftok BY_HANDLE_FILE_INFORMATION
5、hive优化


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号