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會隨機生成一個。


 



相關文章
相關標籤/搜索