kubernetes 創建tomcat 容器


 方案一: 使用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會隨機生成一個。


 



 

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM