kubernates實戰

使用k8s來部署tomcat
1、創建一個部署,并指定鏡像地址

kubectl create deployment tomcat6 --image=tomcat:6.0.53-jre8

2、查看部署pod狀態

kubectl get pods # 獲取default名稱空間下的pods
kubectl get pods --all-namespaces # 獲取所有名稱空間下的pods
kubectl get pods -o wide # 獲取pods詳細信息

3、查看所有pods,deployment,service,replicaset信息

[root@k8s-master ~]# kubectl get all
NAME                           READY   STATUS    RESTARTS   AGE
pod/tomcat6-5f7ccf4cb9-8qjhm   1/1     Running   0          19mNAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        23h
service/tomcat6      NodePort    10.96.226.207   <none>        80:32383/TCP   3m16sNAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/tomcat6   1/1     1            1           19mNAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/tomcat6-5f7ccf4cb9   1         1         1       19m

4、向外部暴露service服務

kubectl expose deployment tomcat6 --port=80 --target-port=8080 --type=NodePort

–port:pod的端口
–target-port:容器端口
–type=NodePort:指定暴露的方式

5、查看暴露的service

[root@k8s-master ~]# kubectl get svc
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        23h
tomcat6      NodePort    10.96.226.207   <none>        80:32383/TCP   12s

在上面我們可以看到k8s向外部暴露tomcat端口為32383
結合下面信息我們可以看到tomcat6是在node3上面的

[root@k8s-master ~]# kubectl get pods -o wide
NAME                       READY   STATUS    RESTARTS   AGE   IP           NODE        NOMINATED NODE   READINESS GATES
tomcat6-5f7ccf4cb9-8qjhm   1/1     Running   0          20m   10.244.2.2   k8s-node3   <none>           <none>

這里node3的地址是192.168.1.109,所以訪問192.168.1.109:32383即可訪問tomcat首頁
在這里插入圖片描述
6、動態擴容
擴容三個tomcat

kubectl scale --replicas=3 deployment tomcat6

查看pod信息

[root@k8s-master ~]# kubectl get pods -o wide
NAME                       READY   STATUS    RESTARTS   AGE     IP           NODE        NOMINATED NODE   READINESS GATES
tomcat6-5f7ccf4cb9-2bjhq   1/1     Running   0          5m56s   10.244.2.3   k8s-node3   <none>           <none>
tomcat6-5f7ccf4cb9-8qjhm   1/1     Running   0          33m     10.244.2.2   k8s-node3   <none>           <none>
tomcat6-5f7ccf4cb9-s42g5   1/1     Running   0          5m56s   10.244.1.4   k8s-node2   <none>           <none>

此時使用node2地址也能訪問tomcat了(http://192.168.1.105:32383/)

7、故障轉移和容量伸縮
假如node3節點掛點,會重新在node2節點上拉起兩個pod,保持pod數量保持3個,
假如手動stop節點上的容器,也會自動重新拉起。
重新設置pod復制數量為1時(kubectl scale --replicas=1 deployment tomcat6),會選擇停掉三個pod中的兩個。

8、刪除

[root@k8s-master ~]# kubectl get all
NAME                           READY   STATUS    RESTARTS   AGE
pod/tomcat6-5f7ccf4cb9-2bjhq   1/1     Running   0          9m50s
pod/tomcat6-5f7ccf4cb9-8qjhm   1/1     Running   0          37m
pod/tomcat6-5f7ccf4cb9-s42g5   1/1     Running   0          9m50sNAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP        23h
service/tomcat6      NodePort    10.96.226.207   <none>        80:32383/TCP   21mNAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/tomcat6   3/3     3            3           37mNAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/tomcat6-5f7ccf4cb9   3         3         3       37m

可以刪除deployment,service,pod

kubectl delete pod/tomcat6-5f7ccf4cb9-2bjhq
kubectl delete service/tomcat6
kubectl delete deployment.apps/tomcat6

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/63727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/63727.shtml
英文地址,請注明出處:http://en.pswp.cn/web/63727.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據挖掘之認識數據

在數據挖掘過程中&#xff0c;數據的認識是非常重要的一步&#xff0c;它為后續的數據分析、建模、特征選擇等工作奠定基礎。以鳶尾花數據集&#xff08;Iris Dataset&#xff09;數據集之鳶尾花數據集&#xff08;Iris Dataset&#xff09;-CSDN博客為例&#xff0c;下面將介紹…

Java 優化springboot jar 內存 年輕代和老年代的比例 減少垃圾清理耗時 如調整 -XX:NewRatio

-XX:NewRatio 是 Java Virtual Machine (JVM) 的一個選項&#xff0c;用于調整 年輕代&#xff08;Young Generation&#xff09;和 老年代&#xff08;Old Generation&#xff09;之間的內存比例。 1. 含義 XX:NewRatioN 用于指定 老年代 與 年輕代 的內存比例。 N 的含義&…

統信UOS 1071 AI客戶端接入本地大模型配置手冊

文章來源&#xff1a;統信UOS 1071本地大模型配置手冊 | 統信軟件-知識分享平臺 1. OS版本確認 1.1. 版本查看 要求&#xff1a;計算機&#xff0c;屬性&#xff0c;查看版本&#xff08;1070,構建號> 101.100&#xff09; 2. UOS AI版本確認 UOS AI&#xff0c;設置&am…

定時任務——定時任務技術選型

摘要 本文深入探討了定時任務調度系統的核心問題、技術選型&#xff0c;并對Quartz、Elastic-Job、XXL-Job、Spring Task/ScheduledExecutor、Apache Airflow和Kubernetes CronJob等開源定時任務框架進行了比較分析&#xff0c;包括它們的特點、適用場景和技術棧。文章還討論了…

【ArcGIS Pro微課1000例】0064:柵格目錄、柵格數據集、鑲嵌數據集

一、柵格目錄與柵格數據集 1. 定義 柵格目錄:是一個用于管理和組織柵格數據集的結構,通常包含多個柵格數據集的元數據和索引信息。它相當于一個文件夾,里面可以存放多個柵格文件。可以將工作空間轉柵格目錄。 柵格數據集:是指單個的柵格數據文件,包含了具體的空間數據,…

Java基礎 | 數據庫的命名規范

數據庫的命名規范 1. 基本原則2. 命名規范詳解2.1 命名禁止項2.2 命名規范3. 通用字段規范4. 特殊表命名建議 1. 基本原則 統一性&#xff1a;全庫采用一致的命名規范簡潔性&#xff1a;在表達清晰的前提下盡量簡短規范性&#xff1a;遵循數據庫標準規范可讀性&#xff1a;命名…

麒麟操作系統服務架構保姆級教程(二)sersync、lsync備份和NFS持久化存儲

如果你想擁有你從未擁有過的東西&#xff0c;那么你必須去做你從未做過的事情 上篇文章我們說到rsync雖好&#xff0c;但是缺乏實時性&#xff0c;在實際應用中&#xff0c;咱們可以將rsync寫進腳本&#xff0c;然后寫進定時任務去備份&#xff0c;如果每天凌晨1&#xff1a;00…

青少年編程與數學 02-004 Go語言Web編程 16課題、并發編程

青少年編程與數學 02-004 Go語言Web編程 16課題、并發編程 一、并發編程并發編程的關鍵概念包括&#xff1a; 二、并發與并行并發編程&#xff08;Concurrency&#xff09;并行計算&#xff08;Parallelism&#xff09;區別 三、Go語言并發編程1. 協程&#xff08;Goroutine&am…

均值聚類算法

K-均值聚類算法是一種常用的無監督學習算法&#xff0c;用于將數據集劃分為K個簇或聚類。它的基本思想是通過迭代將數據點分配到簇中&#xff0c;使得每個數據點都屬于最近的簇中心&#xff0c;并且使得簇內的數據點之間的距離最小化。 算法步驟如下&#xff1a; 1. 初始化K個…

wtforms+flask_sqlalchemy在flask-admin視圖下實現日期的修改與更新

背景&#xff1a; 在flask-admin 的modelview視圖下實現自定義視圖的表單修改/編輯是件不太那么容易的事情&#xff0c;特別是想不自定義前端view的情況下。 材料&#xff1a; wtformsflask_sqlalchemy 制作&#xff1a; 上代碼 1、模型代碼 from .exts import db from …

【AIGC-ChatGPT進階副業提示詞】末日生存指南 2.0:瘋狂科學家的荒誕智慧

引言 在這個不斷變化的世界中&#xff0c;末日似乎總是lurking在角落。但是&#xff0c;親愛的幸存者們&#xff0c;不要害怕&#xff01;因為我&#xff0c;瘋狂科學家2099&#xff0c;正在這里為你們帶來最新版本的末日生存指南。這不是你祖母的應急手冊&#xff0c;而是一本…

BiLSTM:深度學習中的雙向長短期記憶網絡

目錄 ?編輯 1. BiLSTM原理 2. BiLSTM的應用案例 3. BiLSTM研究進展 4. BiLSTM技術挑戰 5. BiLSTM未來趨勢 6. BiLSTM的實際應用示例 6.1 數據準備 6.2 構建BiLSTM模型 6.3 訓練模型 6.4 評估模型 6.5 可視化訓練過程 7. 結論 在深度學習的浪潮中&#xff0c;BiLS…

Socket 收發內部拆包封包函數

在socket通信的時候&#xff0c;有時候數據比較大&#xff0c;內部緩存會溢出&#xff0c;導致發送或接收數據不正確。 針對這個情況&#xff0c;封裝了一個接收和發送的底層函數&#xff0c;根據緩存大小批次發送和接收&#xff0c;內部有自己的緩沖區&#xff0c;測試情況良…

RK3588 , mpp硬編碼yuv, 保存MP4視頻文件.

RK3588 , mpp硬編碼yuv, 保存MP4視頻文件. ?? 傳送 ?? Ubuntu x64 架構, 交叉編譯aarch64 FFmpeg mppRK3588, FFmpeg 拉流 RTSP, mpp 硬解碼轉RGBRk3588 FFmpeg 拉流 RTSP, 硬解碼轉RGBRK3588 , mpp硬編碼yuv, 保存MP4視頻文件.

powershell美化

powershell美化 寫在前面 除了安裝命令&#xff0c;其他都是測試命令&#xff0c;后續再寫進配置文件 安裝主題控件 安裝主題oh-my-posh&#xff0c;powershell中執行 winget install JanDeDobbeleer.OhMyPosh -s winget oh-my-posh init pwsh | Invoke-Expression # 查看…

2024/12/22周報

文章目錄 摘要Abstract深度學習文獻閱讀1. 背景與問題2. 發明目的3. 方法與實現3.1 數據采集與變量選取3.2 BP神經網絡建立穩態預測模型3.3 構建多目標優化函數3.4 多目標差分進化算法求解優化3.5 最優決策變量篩選3.6 實時控制 4. 系統實現5. 實際效果與驗證5.1 仿真驗證5.2 神…

前端編程訓練 異步編程篇 請求接口 vue與react中的異步

文章目錄 前言代碼執行順序的幾個關鍵點接口請求vue與react中的異步 vue中的異步react的state修改異步 前言 本文是B站三十的前端課的筆記前端編程訓練,異步編程篇 代碼執行順序的幾個關鍵點 我們可以理解為代碼就是一行一行&#xff0c;一句一句是執行&#xff08;定義變…

Excel生成DBC腳本源文件

Excel制作 新建一個Excel&#xff0c;后綴為“.xls” 工作本名稱改為“CAN_Matrix” 在首行按照列來起名字&#xff0c;在里面只需要填寫必須的內容即可。 列數名稱第0列Message Name第1列Message Format第2列Message ID第3列Message Length (byte)第4列Message Transmitte…

16.2、網絡安全風險評估技術與攻擊

目錄 網絡安全風險評估技術方法與工具 網絡安全風險評估技術方法與工具 資產信息收集&#xff0c;可以通過調查表的形式把我們各類的資產信息進行一個統計和收集&#xff0c;掌握被評估對象的重要資產分布&#xff0c;進而分析這些資產關聯的業務面臨的安全威脅以及存在的安全…

C++-----函數與庫

數學中的函數與編程中的函數對比 數學中的函數 - 數學函數是一種映射關系&#xff0c;例如&#xff0c;函數\(y f(x)x^{2}\)&#xff0c;對于每一個輸入值\(x\)&#xff0c;都有唯一確定的輸出值\(y\)。它側重于描述變量之間的數量關系&#xff0c;通常通過公式來表示這種關系…