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

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

作者头像
Techeek
发布2018-01-08 14:12:17
1.5K0
发布2018-01-08 14:12:17
举报
文章被收录于专栏:云计算云计算

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管理界面上进行安装。

云私有SAMPLE1
云私有SAMPLE1

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

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

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

代码语言:bash
复制
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注册表:

代码语言:bash
复制
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管理界面中看到这些镜像。

云私有SAMPLE2
云私有SAMPLE2

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

代码语言:bash
复制
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
云私有样品3
云私有样品3

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档