方案一: 使用k8s dashboard 创建rc

1.  界面操作

提示:暂时 忽略

查看:

2.测试

由于是外部服务

直接用  节点的ip访问:

同样也是   第二个端口可以访问。感觉 跟之前的提示信息有关系

未来在慢慢找原因吧

原因分析:

1.  2个 复制都在一台节点上, 有点奇怪。master上查了下

因为一个节点为正常状态

2.  尝试 让2个节点都正常 ,在来一次tomcat

136节点上相关服务重启后,等待了近5分钟 2个节点的状态才都好。

重新创建 tomcat 后

经验证 ,确实是分布在不同的minion上的!

直接验证 2个节点的 30969端口

由此可见,2个minion上的这个端口都可以。

推论:

2个端口中 ,第一个是   容器所在 cluster ip对应的 端口; 第二个是 对外服务对应的端口(minion节点ip+这个端口)

所以 2个minion的ip+ 第二个端口都可以访问 tomcat应用。

换言之:    第一个端口30081相当于  yaml中的port,  第二个端口 相当于nodePort,8080则是 容器内端口  containerPort targetPort

验证下:

看下 自动生成的yaml配置就好

目前这个nodePort 貌似是随机分配的,但是应该通过yaml 文件是可以指定的。 而targetPort 这里应该就是 containerPort

方案二:yaml方式

方案三: 使用 kubectl run

kubectl run tomcat-hui --image=192.168.179.133:80/tomcat --replicas=2  --port=8080

注意:  --port-8080 貌似 实际看出来就是 containerport

删除 deployment : 界面操作了

1.创建tomcat.yaml

tomcat.yaml

apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
name: tomcat-ds
spec:
template:
metadata:
labels:
app: tomcat
spec:
containers:
- name: tomcat
image: tomcat:8.0.30-jre8
ports:
- containerPort: 8080 2.创建
kubectl create -f tomcat.yaml

其他:

如果是内部使用,那就可以不用设置服务的类型(默认为ClusterIP),否则,可以将服务类型设置为NodePort,通过node的端口暴露出来给外部使用;
或者是LoadBalancer,由云服务商提供一个负载均衡直接挂在服务上。这里我们使用NodePort,暴露出30088端口给外部使用。
如果不指定nodePort,那么kubernetes会随机生成一个。

												

kubernetes 创建tomcat 容器的更多相关文章

  1. Docker - 解决创建 tomcat 容器镜像却无法访问页面的问题

    问题背景 查看 tomcat 镜像 docker images 运行并创建 tomcat 容器 docker -d -p 8888:8080 --name=tomcat2 tomcat:latest ...

  2. docker创建tomcat容器

    配置阿里云镜像地址:先在阿里云搜索:容器镜像服务  --> 最下面找到 容器加速服务  docker配置  etc目录下 创建docker文件夹 mkdir --->docker  --- ...

  3. docker创建tomcat容器无法正常访问

    记一次创建tomcat docker容器后访问是404,进入到tomcat docker容器后发现webapps是空的 1.挂载 docker run -v localConfigFile:/cont ...

  4. kubernetes 创建nginx 容器

    参考:http://blog.csdn.net/qq1010885678/article/details/48832067 一个简单的nginx服务器 先决条件:你需要拥有的是一个部署完毕并可以正常运 ...

  5. Spring Boot2.0之 原理—创建内置Tomcat容器

    前面所述的https://www.cnblogs.com/toov5/p/9823728.html 中的第一条先不赘述了,就是玩了maven 重点介绍后两条 首先内置Tomcat: SpringBoo ...

  6. docker 安装tomcat容器和mysql容器

    1. docker pull mysql:5.6 2.docker run -p 3306:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf. ...

  7. 精尽Spring Boot源码分析 - 内嵌Tomcat容器的实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  8. 精尽Spring Boot源码分析 - 支持外部 Tomcat 容器的实现

    该系列文章是笔者在学习 Spring Boot 过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring Boot 源码分析 GitHub 地址 进行阅读 Sprin ...

  9. Docker实战之创建一个tomcat容器

    一.Docker与虚拟机的区别 二.Docker学习步骤 2.1:安装宿主操作系统 在VMVare中安装了Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic ...

随机推荐

  1. Python idle安装与使用教程 调试、下载

    Python idle安装与使用教程 调试.下载 今天我们就来讲一下如何安装Python idle编辑器,也它的调试和使用. 第一步,我们先去下载一个Python idle程序安装包. 本节讲的是wi ...

  2. 服务器不装Excel读取Excel并转换DataTable

    原来是用OleDb.4.0组件读取Excel,但是放到服务器后 傻了,服务器没装Excel ,而且领导说不可以装 没办法,只好自己重新找下代码 在CodeProject找到一个开源的dll,一阵欢喜啊 ...

  3. 轻量级ORM框架Dapper应用四:使用Dapper返回多个结果集

    使用Dapper的QueryMultiple方法可以一次执行多条SQL语句,返回多个结果集,代码如下 using System; using System.Collections.Generic; u ...

  4. CodeIgniter(3.1.4)框架中-使用多个公共控制器

    项目目录结构: 在core/MY_Controller.php文件下: <?php /** * Class MY_Controller * 自定义控制器 */ class MY_Controll ...

  5. ubuntu 12.04 rails server 时候报错 execjs

    新的应用创建好了,使用rails server启动看看,oops!原来是没有javascript运行环境. 1 2 $ rails server  /usr/local/lib/ruby/gems/1 ...

  6. etl数据库查询

    //----------------------------------------利用数据库查询按钮查询-------------------------------------------- st ...

  7. C++中前置声明的应用与陷阱

    前置声明的使用 有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象.好的,不难,我的第一直觉让我写出这样的代码: // A.h #in ...

  8. CentOS命令top下你不一定懂的cpu显示信息

    在使用top命令的时候会看到这么一行: 里面的各个值分别是什么意思呢? 今天被问到这个问题,发现答的不是很清楚.果然啊,天天用最多的top命令都还没摸透...惭愧...于是就查了些资料: 官方解释 C ...

  9. 【Java面试题】27 多线程笔试面试概念问答

    第一题:线程的基本概念.线程的基本状态及状态之间的关系? 线程,有时称为轻量级进程,是CPU使用的基本单元:它由线程ID.程序计数器.寄存器集合和堆栈组成.它与属于同一进程的其他线程共享其代码段.数据 ...

  10. 获取pc硬件信息杂记

    //Download by http://www.NewXing.com #include "StdAfx.h" #include "RegUtil.h" #i ...