kubernetes 建立tomcat 容器

 方案一: 使用k8s dashboard 建立rcnode

      1.  界面操做api

 

 

 

 

提示:暂时 忽略tomcat

 

查看:app

 

 

 

2.测试负载均衡

   

 

 

    因为是外部服务测试

 直接用  节点的ip访问:ui

    

 

 

 

    一样也是   第二个端口能够访问。感受 跟以前的提示信息有关系  spa

  将来在慢慢找缘由吧3d

       缘由分析:blog

     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会随机生成一个。


 



相关文章
相关标签/搜索