使用Vagrant的Kubernetes上的Java EE 7和WildFly( 三 )


下图说明了所有组件如何相互配合:

使用Vagrant的Kubernetes上的Java EE 7和WildFly

文章插图
Mac OS X上的中的Java EE 7 /
由于默认情况下仅创建一个奴才,因此将在该奴才上创建此窗格 。该博客将展示如何创建多个奴才 。当然会选择创建吊舱的奴才 。
运行pod可以确保将Java EE 7应用程序部署到 。
访问Java EE 7应用程序
从.sh get pods输出中,“ HOST列显示可从外部访问应用程序的IP地址 。在我们的例子中,IP地址是10.245.1.3。因此,在浏览器中访问该应用程序以查看输出为:
使用Vagrant的Kubernetes上的Java EE 7和WildFly

文章插图
上的Java EE 7应用程序
这确认您的Java EE 7应用程序现在可访问 。
调试技巧
创建集群后,您将需要对其进行调试,并查看其底层运行情况 。
首先,让我们登录小兵:
kubernetes> vagrant ssh minion-1Last login: Tue Feb3 01:52:22 2015 from 10.0.2.2
上的容器列表
让我们看一下在-1上运行的所有容器:
[vagrant@kubernetes-minion-1 ~]$ docker psCONTAINER IDIMAGECOMMANDCREATEDSTATUSPORTSNAMES3f7e174b82b1arungupta/javaee7-hol:latest"/opt/jboss/wildfly/16 minutes agoUp 16 minutesk8s_wildfly.a78dc60_wildfly.default.api_59be80fa-ab48-11e4-b139-0800279696e1_75a4a7cb1c464e71fb69kubernetes/pause:go"/pause"20 minutes agoUp 20 minutes0.0.0.0:8080->8080/tcp, 0.0.0.0:9090->9090/tcpk8s_net.7946daa4_wildfly.default.api_59be80fa-ab48-11e4-b139-0800279696e1_e74d3d1d7bdd763df691kubernetes/skydns:2014-12-23-001"/skydns -machines=h21 minutes agoUp 21 minutesk8s_skydns.394cd23c_4c283aa1-ab47-11e4-b139-0800279696e1.default.api_4c283aa1-ab47-11e4-b139-0800279696e1_3352f6bd17a140aaabbegoogle/cadvisor:0.7.1"/usr/bin/cadvisor"22 minutes agoUp 22 minutesk8s_cadvisor.68f5108e_cadvisor-agent.file-6bb810db-kubernetes-minion-1.file_65235067df34faf012fd8bb088de6b73_86e59309a5f8cf6463e9kubernetes/kube2sky:1.0"/kube2sky -domain=k22 minutes agoUp 22 minutesk8s_kube2sky.1cbba018_4c283aa1-ab47-11e4-b139-0800279696e1.default.api_4c283aa1-ab47-11e4-b139-0800279696e1_126d4d7a28e6d2e67a92kubernetes/fluentd-elasticsearch:1.0"/bin/sh -c '/usr/sb23 minutes agoUp 23 minutesk8s_fluentd-es.6361e00b_fluentd-to-elasticsearch.file-8cd71177-kubernetes-minion-1.file_a190cc221f7c0766163ed2a4ad6e32aa_a9a369d35623edf7deccquay.io/coreos/etcd:latest"/etcd /etcd -bind-a25 minutes agoUp 25 minutesk8s_etcd.372da5db_4c283aa1-ab47-11e4-b139-0800279696e1.default.api_4c283aa1-ab47-11e4-b139-0800279696e1_8b6588113575b562f23ekubernetes/pause:go"/pause"25 minutes agoUp 25 minutes0.0.0.0:4194->8080/tcpk8s_net.beddb979_cadvisor-agent.file-6bb810db-kubernetes-minion-1.file_65235067df34faf012fd8bb088de6b73_8376ce8e094d76c83068kubernetes/pause:go"/pause"25 minutes agoUp 25 minutesk8s_net.3e0f95f3_fluentd-to-elasticsearch.file-8cd71177-kubernetes-minion-1.file_a190cc221f7c0766163ed2a4ad6e32aa_6931ca22f8b9cd5af169kubernetes/pause:go"/pause"25 minutes agoUp 25 minutesk8s_net.3d64b7f6_4c283aa1-ab47-11e4-b139-0800279696e1.default.api_4c283aa1-ab47-11e4-b139-0800279696e1_b0ebce5a
第一个容器特定于我们的应用程序,其他所有内容均由启动 。
有关每个容器的详细信息
使用Vagrant的Kubernetes上的Java EE 7和WildFly

文章插图
有关每个容器的更多详细信息,可以通过使用其容器ID来找到:
docker inspect
在我们的例子中,输出显示为:
[vagrant@kubernetes-minion-1 ~]$ docker inspect 3f7e174b82b1[{"AppArmorProfile": "","Args": ["-c","standalone-full.xml","-b","0.0.0.0"],"Config": {"AttachStderr": false,"AttachStdin": false,"AttachStdout": false,"Cmd": ["/opt/jboss/wildfly/bin/standalone.sh","-c","standalone-full.xml","-b","0.0.0.0"],"CpuShares": 102,"Cpuset": "","Domainname": "","Entrypoint": null,"Env": ["KUBERNETES_PORT_443_TCP_PROTO=tcp","KUBERNETES_RO_PORT_80_TCP=tcp://10.247.82.143:80","SKYDNS_PORT_53_UDP=udp://10.247.0.10:53","KUBERNETES_PORT_443_TCP=tcp://10.247.92.82:443","KUBERNETES_PORT_443_TCP_PORT=443","KUBERNETES_PORT_443_TCP_ADDR=10.247.92.82","KUBERNETES_RO_PORT_80_TCP_PROTO=tcp","SKYDNS_PORT_53_UDP_PROTO=udp","KUBERNETES_RO_PORT_80_TCP_ADDR=10.247.82.143","SKYDNS_SERVICE_HOST=10.247.0.10","SKYDNS_PORT_53_UDP_PORT=53","SKYDNS_PORT_53_UDP_ADDR=10.247.0.10","KUBERNETES_SERVICE_HOST=10.247.92.82","KUBERNETES_RO_SERVICE_HOST=10.247.82.143","KUBERNETES_RO_PORT_80_TCP_PORT=80","SKYDNS_SERVICE_PORT=53","SKYDNS_PORT=udp://10.247.0.10:53","KUBERNETES_SERVICE_PORT=443","KUBERNETES_PORT=tcp://10.247.92.82:443","KUBERNETES_RO_SERVICE_PORT=80","KUBERNETES_RO_PORT=tcp://10.247.82.143:80","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","JAVA_HOME=/usr/lib/jvm/java","WILDFLY_VERSION=8.2.0.Final","JBOSS_HOME=/opt/jboss/wildfly"],"ExposedPorts": {"8080/tcp": {},"9090/tcp": {},"9990/tcp": {}},"Hostname": "wildfly","Image": "arungupta/javaee7-hol","MacAddress": "","Memory": 0,"MemorySwap": 0,"NetworkDisabled": false,"OnBuild": null,"OpenStdin": false,"PortSpecs": null,"StdinOnce": false,"Tty": false,"User": "jboss","Volumes": null,"WorkingDir": "/opt/jboss"},"Created": "2015-02-03T02:03:54.882111127Z","Driver": "devicemapper","ExecDriver": "native-0.2","HostConfig": {"Binds": null,"CapAdd": null,"CapDrop": null,"ContainerIDFile": "","Devices": null,"Dns": ["10.247.0.10","10.0.2.3"],"DnsSearch": ["default.kubernetes.local","kubernetes.local","c.hospitality.swisscom.com"],"ExtraHosts": null,"IpcMode": "","Links": null,"LxcConf": null,"NetworkMode": "container:1c464e71fb69adfb2a407217d0c84600a18f755721628ea3f329f48a2cdaa64f","PortBindings": {"8080/tcp": [{"HostIp": "","HostPort": "8080"}],"9090/tcp": [{"HostIp": "","HostPort": "9090"}]},"Privileged": false,"PublishAllPorts": false,"RestartPolicy": {"MaximumRetryCount": 0,"Name": ""},"SecurityOpt": null,"VolumesFrom": null},"HostnamePath": "","HostsPath": "/var/lib/docker/containers/1c464e71fb69adfb2a407217d0c84600a18f755721628ea3f329f48a2cdaa64f/hosts","Id": "3f7e174b82b1520abdc7f39f34ad4e4a9cb4d312466143b54935c43d4c258e3f","Image": "a068decaf8928737340f8f08fbddf97d9b4f7838d154e88ed77fbcf9898a83f2","MountLabel": "","Name": "/k8s_wildfly.a78dc60_wildfly.default.api_59be80fa-ab48-11e4-b139-0800279696e1_75a4a7cb","NetworkSettings": {"Bridge": "","Gateway": "","IPAddress": "","IPPrefixLen": 0,"MacAddress": "","PortMapping": null,"Ports": null},"Path": "/opt/jboss/wildfly/bin/standalone.sh","ProcessLabel": "","ResolvConfPath": "/var/lib/docker/containers/1c464e71fb69adfb2a407217d0c84600a18f755721628ea3f329f48a2cdaa64f/resolv.conf","State": {"Error": "","ExitCode": 0,"FinishedAt": "0001-01-01T00:00:00Z","OOMKilled": false,"Paused": false,"Pid": 17920,"Restarting": false,"Running": true,"StartedAt": "2015-02-03T02:03:55.471392394Z"},"Volumes": {},"VolumesRW": {}}]