Kubernetes 集群部署 tomcat 容器

2018 年 5 月 10 日 ImportNew

(点击上方公众号,可快速关注)


来源:乞力马扎罗的雪CYF ,

blog.csdn.net/chenyufeng1991/article/details/79843618


  • kube-tomcat.yaml实现如下。


这里是把Deployment和Services在一个文件中实现了。也可以分为两个文件来实现。


# Copyright 2015 Google Inc. All Rights Reserved.

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

#     http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

 

# Configuration to deploy release version of the Dashboard UI.

#

# Example usage: kubectl create -f <this_file>

 

kind: Deployment

apiVersion: extensions/v1beta1

metadata:

  labels:

    app: kube-tomcat

    version: v1.1.1

  name: kube-tomcat

  namespace: default

spec:

  replicas: 1

  selector:

    matchLabels:

      app: kube-tomcat

  template:

    metadata:

      labels:

        app: kube-tomcat

    spec:

      containers:

      - name: kube-tomcat

        image: docker.io/chenyufeng/tomcat-centos

        imagePullPolicy: Always

        ports:

        - containerPort: 8080

          protocol: TCP

        args:

          # Uncomment the following line to manually specify Kubernetes API server Host

          # If not specified, Dashboard will attempt to auto discover the API server and connect

          # to it. Uncomment only if the default does not work.

        - --apiserver-host=http://47.97.90.38:8080  ## 请修改为自己的kube-apiserver

        livenessProbe:

          httpGet:

            path: /

            port: 8080

          initialDelaySeconds: 30

          timeoutSeconds: 30

---

kind: Service

apiVersion: v1

metadata:

  labels:

    app: kube-tomcat

  name: kube-tomcat

  namespace: default

spec:

  type: NodePort

  ports:

  - port: 80

    targetPort: 8080

  selector:

    app: kube-tomcat


  • 完整的文件如下:


在master上,然后使用如下命令创建deployment和Service


kubectl create -f kube-tomcat.yaml


查看创建的deployment:、


kubectl get deployment


查看这个deployment的详情:


kubectl describe deployment kube-tomcat


查看创建的service:


kubectl get service


查看这个service的详情。


kubectl describe service kube-tomcat


  • service详情这里的IP就是CLUSTER-IP. CLUSTER-IP是和service绑定的。

  • service详情这里的Port就是Service的端口号。

  • service详情这里的NodePort就是Node的真实端口号。

  • service详情这里的Endpoints就是容器的IP和port。


查看创建的pod:


kubectl get pod


查看其中一个pod的详情。

pod详情这里的IP是nodes中的虚拟IP。该虚拟IP可以去nodes里面使用ifconfig查看。


kubectl describe pod kube-tomcat-1115055280-tk1f8


在nodes上查看创建的容器:


  • 然后使用浏览器访问:http://47.97.90.38:8080/api/v1/proxy/namespaces/default/services/kube-tomcat/


这里一定要指定namespaces和services。


  • 然后到nodes中,把war使用“docker cp”复制到容器的tomcat/webapps,就可以实现页面的访问了【这里可能需要等待较多时间,至少几分钟】


  • 在Postman中进行测试


注意在请求中的IP应该是master所在的IP。返回成功。可以使用Postman来进行接口测试,测试通过表示部署成功。


  • 以上步骤的部署也可以结合持续集成CI/CD来进行,能简化不少流程。


看完本文有收获?请转发分享给更多人

关注「ImportNew」,提升Java技能

登录查看更多
0

相关内容

Kubernetes 是一个自动化部署,扩展,以及容器化管理应用程序的开源系统。
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
专知会员服务
159+阅读 · 2020年1月16日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
95+阅读 · 2019年12月4日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
MIT新书《强化学习与最优控制》
专知会员服务
275+阅读 · 2019年10月9日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
谷歌足球游戏环境使用介绍
CreateAMind
33+阅读 · 2019年6月27日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
移动端机器学习资源合集
专知
8+阅读 · 2019年4月21日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
R工程化—Rest API 之plumber包
R语言中文社区
11+阅读 · 2018年12月25日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
A Modern Introduction to Online Learning
Arxiv
20+阅读 · 2019年12月31日
Arxiv
3+阅读 · 2018年10月18日
Rapid Customization for Event Extraction
Arxiv
7+阅读 · 2018年9月20日
VIP会员
相关资讯
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
谷歌足球游戏环境使用介绍
CreateAMind
33+阅读 · 2019年6月27日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
移动端机器学习资源合集
专知
8+阅读 · 2019年4月21日
百度开源项目OpenRASP快速上手指南
黑客技术与网络安全
5+阅读 · 2019年2月12日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
R工程化—Rest API 之plumber包
R语言中文社区
11+阅读 · 2018年12月25日
基于TensorFlow的深度学习实战
七月在线实验室
9+阅读 · 2018年4月25日
Top
微信扫码咨询专知VIP会员