永远网站建设,如何建设网站制作平台,免费的会计做账系统,智诚外包网openshift使用OpenShift是Red Hat的开源PaaS平台。 OpenShift v3 #xff08;将于今年发布#xff09;将提供使用Docker和Kubernetes运行微服务的整体体验。 以经典的Red Hat方式#xff0c;所有工作都在OpenShift Origin的开源中完成。 这也将推动OpenShift Online和OpenSh… openshift使用 OpenShift是Red Hat的开源PaaS平台。 OpenShift v3 将于今年发布将提供使用Docker和Kubernetes运行微服务的整体体验。 以经典的Red Hat方式所有工作都在OpenShift Origin的开源中完成。 这也将推动OpenShift Online和OpenShift Enterprise的下一个主要版本。 OpenShift v3使用了一个新的平台堆栈该平台使用了Red Hat贡献的大量社区项目例如FedoraCentosDockerProject AtomicKubernetes和OpenStack。 结合了DockerKubernetesAtomic和更多内容的OpenShift v3平台详细解释了该平台堆栈。 该技术提示将说明如何开始使用OpenShift v3让我们开始吧 OpenShift v3入门 可以从GitHub的Origin下载用于OpenShift v3的预构建二进制文件。 但是最简单的入门方法是将OpenShift Origin作为Docker容器运行。 OpenShift Application Lifecycle提供了从头开始运行示例应用程序所需的完整详细信息。 该博客将使用这些步骤并使它们适应于在Mac上使用boot2docker VM运行。 在此过程中我们还将在WildFly上部署Java EE 7应用程序该应用程序将访问单独MySQL容器上的数据库。 这是我们的部署图 WildFly和MySQL在不同的Pod上运行。 它们每个都包装在Replication Controller中以简化扩展。 每个复制控制器均作为服务发布。 WildFly与MySQL服务对话而不是直接与pod对话。 这一点很重要因为Pod和分配给它们的IP地址都是短暂的。 让我们开始吧 配置Docker守护程序 在主机上配置Docker守护程序以信任将要启动的Docker注册表服务。 该注册表将用于推送映像以进行构建/测试/部署。 以以下方式登录到boot2docker VM boot2docker ssh 编辑档案 sudo vi /var/lib/boot2docker/profile 这将是一个空文件。 添加以下名称/值对 EXTRA_ARGS--insecure-registry 172.30.17.0/24 保存文件然后退出编辑器。 这将指示Docker守护程序信任172.30.17.0/24子网中的任何Docker注册表。 查看OpenShift v3和Java EE 7示例 下载并安装Go并设置GOPATH和PATH环境变量 。 签出OpenShift原始目录 openshift git clone https://github.com/openshift/origin.git
Cloning into origin...
remote: Counting objects: 21451, done.
remote: Compressing objects: 100% (76/76), done.
remote: Total 21451 (delta 26), reused 15 (delta 1)
Receiving objects: 100% (21451/21451), 35.11 MiB | 1.24 MiB/s, done.
Resolving deltas: 100% (11392/11392), done.
Checking connectivity... done. 请注意其检出的目录。 在这种情况下它的〜 /workspaces/openshift 。 构建工作空间 make release
origin make release
rm -rf _output Godeps/_workspace/pkg
hack/build-release.sh
Unable to find image openshift/origin-release locally
Pulling repository openshift/origin-release
c59f040a4054: Download complete
511136ea3c5a: Download complete
5b12ef8fd570: Download complete
dade6cb4530a: Download complete
bd195712b86c: Download complete
4aae29c1c846: Download complete
d8738da3ed4c: Download complete
7f7491063665: Download complete
b5cfa9eebdb5: Download complete
2f6297477756: Download complete
dc98bd93df2f: Download complete
1be2a7550a3d: Download complete
42fd088f8c55: Download complete
b6f6ad4012df: Download complete
Status: Downloaded newer image for openshift/origin-release:latest 检出已转换为Kubernetes应用程序的javaee7-hol工作区 origin git clone https://github.com/bparees/javaee7-hol
Cloning into javaee7-hol...
remote: Counting objects: 1159, done.
remote: Compressing objects: 100% (49/49), done.
remote: Total 1159 (delta 35), reused 37 (delta 21)
Receiving objects: 100% (1159/1159), 20.35 MiB | 1.78 MiB/s, done.
Resolving deltas: 100% (605/605), done.
Checking connectivity... done. 这也可以在~/workspaces/openshift目录中完成。 启动OpenShift v3容器 将OpenShift Origin作为Docker容器启动 ~ docker run -d --name openshift-origin --nethost --privileged \-v /var/run/docker.sock:/var/run/docker.sock \-v /Users/arungupta/workspaces/openshift:/workspaces/openshift \-v /usr/local/bin/docker:/usr/bin/docker \openshift/origin start --public-master$(boot2docker ip)The VMs Host only interface IP address is: 0ae85091e7ad7e85697575369f008273a6673d112b49860f5557a61d9e82d908 注意~/workspaces/openshift目录在容器中作为/workspaces/openshift卷挂载。 还安装了一些其他卷。 检查容器是否正在运行 ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ae85091e7ad openshift/origin:beta1 /usr/bin/openshift 2 minutes ago Up 2 minutes openshift-origin 以以下方式登录到容器 openshift docker exec -it docker ps | grep origin:beta1 | awk { print $1 } bash
[rootboot2docker openshift]# 通过提供以下命令在容器中安装Docker注册表 export CERT_DIR/var/lib/openshift/openshift.local.certificates/openshift-client \
export KUBECONFIG/var/lib/openshift/openshift.local.certificates/admin/.kubeconfig \
cd /workspaces/openshift/origin hack/install-registry.sh 通过获取Pod列表来确认注册表正在运行 [rootboot2docker origin]# osc get pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS
docker-registry-1-gfkbz 172.17.0.14 registry-container openshift/docker-registry boot2docker/127.0.0.1 deploymentdocker-registry-1,deploymentconfigdocker-registry,nameregistrypod,templatedocker-registry-template Running osc是OpenShift Client CLI 可用于创建和管理OpenShift项目。 一些kubectl命令也可以使用此脚本。 确认注册表服务正在运行。 请注意实际IP地址可能会有所不同 [rootboot2docker origin]# osc get services
NAME LABELS SELECTOR IP PORT
docker-registry templatedocker-registry-template nameregistrypod 172.30.17.142 5001
kubernetes componentapiserver,providerkubernetes none 172.30.17.2 443
kubernetes-ro componentapiserver,providerkubernetes none 172.30.17.1 80 确认注册表服务可访问 curl osc get services docker-registry -o template --template{{ .portalIP}}:{{ .port }} 并寻找输出 docker-registry server (dev) (v0.9.0) 访问OpenShift v3 Web控制台 OpenShift Origin服务器现在已启动并正在运行。 使用boot2docker ip查找主机的IP地址然后打开http// boot2docker主机的IP地址8444以在浏览器中查看OpenShift Web控制台。例如可从https://192.168.59.103:8444访问该控制台/在这台机器上。 您需要让浏览器在https://host:8444接受证书然后控制台才能查询OpenShift API。 当然使用合法证书就不需要这样做。 出现OpenShift Origin登录屏幕。 输入用户名/密码作为admin / admin 然后点击“登录”按钮。 默认的Web控制台如下所示 创建OpenShift v3项目 在OpenShift v3容器中使用github.com/openshift/origin/blob/master/examples/sample-app/project.json中的project.json并创建一个测试项目如下所示 [rootboot2docker origin]# osc create -f /workspaces/openshift/origin/examples/sample-app/project.json
test 现在刷新Web控制台将显示 单击“ OpenShift 3 Sample”将显示一个空的项目描述 请求创建应用程序模板 [rootboot2docker openshift]# cd javaee7-hol/
[rootboot2docker javaee7-hol]# osc process -n test -f application-template-jeebuild.json | osc create -n test -f -
frontend
origin-jee-sample
wildfly-8-centos
jee-sample-build
frontend
mysql
database Web控制台自动刷新并显示 正在运行的服务列表可以看成是 建立项目 触发项目的初始构建 [rootboot2docker javaee7-hol]# osc start-build -n test jee-sample-build
cee73fbc-b32d-11e4-a0f2-5282784576db 监视构建并等待状态变为“完成”这可能需要几分钟 [rootboot2docker javaee7-hol]# osc get -n test builds
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Running build-cee73fbc-b32d-11e4-a0f2-5282784576db 您可以添加–watch标志以等待更新直到构建完成 [rootboot2docker javaee7-hol]# osc get -n test builds --watch
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Running build-cee73fbc-b32d-11e4-a0f2-5282784576db
NAME TYPE STATUS POD
cee73fbc-b32d-11e4-a0f2-5282784576db STI Complete build-cee73fbc-b32d-11e4-a0f2-5282784576db 等待STATUS栏显示Complete 。 设置所有组件WIldFlyMySQLJava EE 7应用程序将花费几分钟。 实际上将创建它们的新Docker映像并将其推送到之前启动的本地注册表中。 状态更改为Complete后 CtrlC停止监视构建。 构建的完整日志可以看成是 [rootboot2docker javaee7-hol]# osc build-logs -n test cee73fbc-b32d-11e4-a0f2-5282784576db
2015-02-13T03:10:07.065718606Z Cloning into /tmp/sti552730161/upload/src...
2015-02-13T03:11:03.184576532Z I0213 03:11:03.184326 1 build.go:160] Successfully built 172.30.17.142:5001/test/origin-jee-sample
2015-02-13T03:11:07.261489310Z The push refers to a repository [172.30.17.142:5001/test/origin-jee-sample] (len: 1)
2015-02-13T03:11:07.261489310Z Sending image list
2015-02-13T03:11:07.275256699Z Pushing repository 172.30.17.142:5001/test/origin-jee-sample (1 tags)
2015-02-13T03:11:07.307836081Z Pushing
Buffering to disk07.314345045Z Buffering to disk 1.024 kB
2015-02-13T03:11:07.315452728Z Buffering to disk
Pushing-13T03:11:07.323973430Z Pushing [ ] 512 B/1.024 kB 0. . .Pushing-13T03:13:05.932725921Z Pushing [ ] 6.56 MB/6.704 MB 0
Pushing-13T03:13:05.942989165Z Pushing [ ] 6.635 MB/6.704 MB 0
Pushing-13T03:13:05.943025109Z Pushing [ ] 6.702 MB/6.704 MB 0
Pushing-13T03:13:05.947665528Z Pushing [] 6.704 MB/6.704 MB
2015-02-13T03:13:05.953476634Z Image successfully pushed
2015-02-13T03:13:05.953476634Z Pushing tag for rev [b0a7868377c1] on {http://172.30.17.142:5001/v1/repositories/test/origin-jee-sample/tags/latest} 检查要启动的应用程序容器 [rootboot2docker javaee7-hol]# osc get -n test pods
POD IP CONTAINER(S) IMAGE(S) HOST LABELS STATUS
build-cee73fbc-b32d-11e4-a0f2-5282784576db 172.17.0.17 sti-build openshift/origin-sti-builder:v0.3 boot2docker/127.0.0.1 none Succeeded
database-1-axe6d 172.17.0.16 jee-database mysql boot2docker/127.0.0.1 deploymentdatabase-1,deploymentconfigdatabase,namedatabase,templatejee-sample Running
frontend-1-pkcia 172.17.0.20 jee-sample 172.30.17.142:5001/test/origin-jee-sample:b0a7868377c10a50b40019be70e22d040b9a2bb2d87fa3932b700494e50a4de6 boot2docker/127.0.0.1 deploymentfrontend-1,deploymentconfigfrontend,namefrontend,templatejee-sample Running 请注意“前端”和“数据库”窗格现在正在运行。 确定“前端”服务的IP [rootboot2docker javaee7-hol]# osc get -n test services
NAME LABELS SELECTOR IP PORT
frontend templatejee-sample namefrontend 172.30.17.115 8080
mysql templatejee-sample namedatabase 172.30.17.75 3306 通过http// “前端”的IP地址8080 / movieplex7-1.0-SNAPSHOT可以访问应用程序。 请注意IP地址可能很可能会有所不同。 在这种情况下它将是http://172.30.17.115:8080/moviexplex7-1.0-SNAPSHOT。由于将OpenShift v3用作Docker容器时在Mac上配置防火墙需要进行一些进一步的调试才能配置该应用程序。 在弄清楚这一点之前您可以在boot2docker VM中执行docker docker ps以查看所有容器的列表 origin docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c776cabb72f8 172.30.17.17:5001/test/origin-jee-sample:91d1b5a5ed58e1642aafbd652eba0b7eae3a0ac08c17729d205ae88204f64449 /tmp/scripts/run 2 hours ago Up 2 hours k8s_jee-sample.7af25557_frontend-2-9ciae.test.api_12a0d77e-b3b5-11e4-81f6-5282784576db_53f91f55
e7f87112c473 openshift/origin-pod:beta1 /pod 2 hours ago Up 2 hours k8s_POD.9cbfdefa_frontend-2-9ciae.test.api_12a0d77e-b3b5-11e4-81f6-5282784576db_64263b61
7e7579db5f82 openshift/origin-pod:beta1 /pod 2 hours ago Up 2 hours k8s_POD.123cbdd6_build-e075047d-b3b4-11e4-81f6-5282784576db.test.api_e07bcdb2-b3b4-11e4-81f6-5282784576db_376c0e63
74082d7791ec openshift/origin-pod:beta1 /pod 2 hours ago Up 2 hours k8s_POD.123cbdd6_build-76364bb6-b3b2-11e4-81f6-5282784576db.test.api_7639e3a5-b3b2-11e4-81f6-5282784576db_f653c7fd
3e42dacb0da7 mysql:latest /entrypoint.sh mysq 3 hours ago Up 3 hours k8s_jee-database.f12628ae_database-1-bqg8v.test.api_56093bac-b3b2-11e4-81f6-5282784576db_193dddf7
cb551c8cf7bf openshift/origin-pod:beta1 /pod 3 hours ago Up 3 hours k8s_POD.95f2def6_database-1-bqg8v.test.api_56093bac-b3b2-11e4-81f6-5282784576db_295fc320
e8719152df42 openshift/docker-registry:latest \sh -c echo \$OP 3 hours ago Up 3 hours k8s_registry-container.4e338487_docker-registry-1-bt49s.default.api_177a691c-b3b0-11e4-81f6-5282784576db_a6f4f83b
d3ecc5841c3b openshift/origin-pod:beta1 /pod 3 hours ago Up 3 hours k8s_POD.8a29deef_docker-registry-1-bt49s.default.api_177a691c-b3b0-11e4-81f6-5282784576db_ba53d62b
a506222fae91 openshift/origin:beta1 /usr/bin/openshift 3 hours ago Up 3 hours openshift-origin 然后以以下方式登录到与前端关联的容器 docker exec -it docker ps | grep origin-jee-sample | awk { print $1 } bash 这将登录到Docker容器您可以通过提供以下命令来检查应用程序是否已成功部署 bash-4.2$ curl http://localhost:8080/movieplex7-1.0-SNAPSHOT/ 这将从应用程序中打印index.html页面该应用程序的顶部和顶部都有许可证。 现在一旦防火墙问题解决该页面也将在主机Mac上也可以访问。 让我们总结一下 克隆了OpenShift Origin和Java EE 7示例存储库 将OpenShift v3作为Docker容器启动 加载了OpenShift v3 Web控制台 创建一个OpenShift v3项目 加载的Java EE 7应用程序模板 触发了构建从而部署了应用程序 如果遇到问题这里有一些故障排除提示 。 请享用 翻译自: https://www.javacodegeeks.com/2015/02/openshift-v3-getting-started-java-ee-7-using-wildfly-mysql.htmlopenshift使用