Kubernetes(k8s)學習筆記(四)--入門基本操作

本文通過kubernetes部署tomcat集群,來學習和掌握kubernetes的一些入門基本操作

前提條件

1.各個節點處于Ready狀態;

2.配置好docker鏡像庫(否則會出現ImagePullBackOff等一些問題);

3.網絡配置正常(否則即使應用發布沒問題,瀏覽器訪問不了)。

實現的過程

一.編寫一個tomcat發布的yaml文件tomcat-9.0-deployment.yaml,內容類似下面這樣的:

apiVersion: apps/v1
kind: Deployment
metadata:labels:app: tomcat9name: tomcat9
spec:replicas: 3 #指定集群的節點個數selector:matchLabels:app: tomcat9template:metadata:labels:app: tomcat9spec:containers:- image: tomcat:9.0.85-jre8name: tomcat# 啟動時自動復制 webapps.dist 內容到 webappslifecycle:postStart:exec:command: ["/bin/sh", "-c", "cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/"]ports:- containerPort: 8080
--- # 使用三個短橫線分隔不同的配置,一個yaml文件可以配置多個
apiVersion: v1
kind: Service
metadata:labels:app: tomcat9name: tomcat9
spec:ports:- port: 80protocol: TCPtargetPort: 8080nodePort: 30080  # 指定易記端口,對外訪問端口selector:app: tomcat9type: NodePortexternalTrafficPolicy: Cluster

二.使用yaml文件部署tomcat集群

kubectl apply -f ./tomcat-9.0-deployment.yaml

?執行后輸出:deployment和service created的信息

三.驗證應用的發布

使用下面的命令,查看所有資源情況

kubectl get all?

?

從上圖可以看到,3個tomcat節點都處于運行狀態,對外訪問端口是30080。

然后使用瀏覽器訪問,出現tomcat的歡迎頁面,注意這里的IP不是CLUSTER-IP,而是前面文章配置時獲得的ip。可使用這個命令查看啟動是否正常,是否可訪問:

[root@k8s-node1 k8s]# kubectl exec -it tomcat9-f4d6f4687-7vwch -- curl -I localhost:8080
HTTP/1.1 200?
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Sat, 03 May 2025 08:06:38 GMT

返回200則表示正常。

如果不知道yaml文件怎么寫,可以嘗試在命令后面添加--dry-run,這樣就會輸出示例yaml文件

例如:

kubectl create deployment tomcat9 --image=tomcat:9 --dry-run -o yaml > tomcat9-deployment.yaml

就會在當前目錄下輸出一個tomcat9-deployment.yaml文件從而獲得app的配置信息,但并不會創建一個發布,同樣kubectl expose deployment tomcat9 --port=80 --target-port=8080 --type=NodePort --dry-run -o yaml則在當前目錄下輸出service配置的內容,然后把service配置的內容添加到前面的tomcat9-deployment.yaml(使用---分隔開來),然后以最終的tomcat9-deployment.yaml來發布應用。

拓展:常用命令?

1.獲取所有的命名空間

kubectl get ns

2.獲取所有命名空間的節點信息,用戶創建的發布均位于default空間下:

kubectl get pods --all-namespaces

3.獲得默認命名空間的節點基本信息

kubectl get pods

3.獲得默認命名空間的節點詳細信息

kubectl get pods??-o wide

4.獲取所有資源信息

kubectl get all

5.獲取所有的節點信息

kubectl get nodes

6.獲取所有的服務信息

kubectl get svc

7.使用指定文件創建發布

kubectl apply -f xxx.yaml

8.刪除發布的應用

kubectl delete deployment.apps/應用名

9.向外暴露端口

kubectl expose deployment 應用名(比如tomcat9) --port=80 --target-port=8080 --type=NodePort

10.將應用擴容到指定數目的數量

kubectl scale --replicas=3 deployment 應用名

11.進入應用內部

kubectl exec -it pod/應用名稱 -- /bin/bash

12.獲得服務的詳細信息

kubectl describe service tomcat9

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

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

相關文章

【大模型面試每日一題】Day 7:為什么大模型訓練選擇 Adam 而非 SGD?Adam 的關鍵改進是什么?

【大模型面試每日一題】Day 7:為什么大模型訓練選擇 Adam 而非 SGD?Adam 的關鍵改進是什么? 📌 題目重現 🌟🌟 面試官:為什么大模型訓練選擇 Adam 而非 SGD?Adam 的關鍵改進是什么…

輕量級在線Excel預覽工具

輕量級在線Excel預覽工具 簡介 在日常工作中,我們經常需要快速查看Excel文件的內容,但不一定總是需要打開完整的Excel軟件。為了解決這個問題,我開發了一個輕量級的在線Excel預覽工具,讓您可以通過瀏覽器快速查看Excel文件內容。…

[Vue]props解耦傳參

在 Vue 中,通過 props 傳遞路由參數(即 props 解耦)是一種將組件與路由參數解耦的推薦方式。這種方法能顯著提升組件的獨立性、復用性和可維護性。以下是詳細解釋: 一、什么是 props 解耦? props 解耦是指&#xff1a…

Trae 使用心得:從新手到上手

Trae 使用心得:從新手到上手 最近,我開始試用 Trae,一款新興的 AI 開發工具。在使用過程中,我發現它與我之前用過的 Cursor 有些不同,也帶來了一些新的體驗。 初體驗:操作的便利性 一開始,我…

游戲引擎學習第256天:XBox 控制器卡頓和修復 GL Blit 伽瑪問題

回顧并為今天定下基調 今天的主要任務是讓我們的性能分析工具正常工作,因為昨天已經完成了結構性工作。現在,剩下的工作大部分應該是調試和美化。性能分析工具現在應該已經基本可用了。昨天我們在這個方面取得了很大的進展。 接下來,我們將…

PVD中斷檢測掉電

文章目錄 概述配置掉電擦寫注意 概述 STM32 PVD功能具體可以檢測到上電、掉電瞬間,其處理方式有中斷響應及事件響應。掉電設置為上升沿觸發,上電為下降沿觸發 配置 1.開啟PVD中斷并設置其優先級 2.配置響應中斷或事件的閾值電壓 3.配置響應模式 生成…

快速掌握--cursor

Cursor - The AI Code Editor 官網下載安裝 詳細教程:cursor 下載安裝使用(保姆教程)_cursor下載-CSDN博客 不知道為啥,第一次給我用的是繁體回答 然后改了一下詢問方式 codebase就是告訴ai可以從整個項目中找答案&#xff0…

1993年地級市民國鐵路開通數據(地級市工具變量)

1993年地級市民國鐵路開通數據(地級市工具變量) 1、時間:1933年 2、指標:是否開通鐵路 3、來源:《Z國鐵道便覽》 4、方法說明:參考田坤(2023)參考章元(2008&#xff…

AI優化SEO關鍵詞實踐路徑

內容概要 隨著人工智能技術深度滲透數字營銷領域,SEO關鍵詞優化正經歷從人工經驗驅動向算法智能決策的躍遷。本文聚焦AI技術在SEO關鍵詞全生命周期管理中的應用框架,系統闡述智能算法如何通過海量數據挖掘潛在搜索需求、解析用戶意圖的語義關聯性&#…

論微服務架構及其應用

試題四 論微服務架構及其應用 微服務提倡將單一應用程序劃分成一組小的服務,服務之間互相協調、互相配合,為用戶提供最終價值。每個服務運行在其獨立的進程中,服務與服務間采用輕量級的通信機制互相溝通。在微服務架構中,每個服務…

基于SpringBoot+Vue實現的電影推薦平臺功能三

一、前言介紹: 1.1 項目摘要 2023年全球流媒體用戶突破15億,用戶面臨海量內容選擇困難,傳統推薦方式存在信息過載、推薦精準度低等問題。傳統推薦系統存在響應延遲高(平均>2s)。隨著互聯網的快速發展,…

ARM 算數指令

加法 ADD 減法 SUB 取負 NEG 比較 CMP 乘法 MUL 移位 LSL、LSR、ASL、ASR、ROL、ROR加法和減法 絕大多數微處理器都實現了帶進位的加法指令,能夠將兩個操作數和條件碼寄存器中的進位位加到一起。這條指令會使字長大于計算機固有字長的鏈接運算更加方便。 說明了如何…

JAVA---集合ArrayList

集合 1. 自動擴容 ,集合長度可變 2. 只可以存引用數據類型,如果要存基本數據類型,需要將其轉換成對應的包裝類 ArrayList 定義在 java.util 下的,實現了 List 接口。ArrayList 內部以動態數組的形式存儲元素,這意…

Scrapy框架之【settings.py文件】詳解

settings.py 文件的主要作用是對 Scrapy 項目的全局設置進行集中管理。借助修改這個文件中的配置項,你可以對爬蟲的行為、性能、數據處理等方面進行靈活調整,而無需修改爬蟲代碼。 ①默認英文注釋settings.py # Scrapy settings for douban project # …

Java變量學習筆記

Java變量 -為什么需要變量? 一個程序就是一個世界 變量是程序的基本組成單位 不論是使用哪種高級程序語言編寫程序,變量都是其程序的基本組成單位,比如: //變量有三個基本要素(類型名稱值) class Test{public static void main(String [largs){int a1;…

數據結構*隊列

隊列 什么是隊列 是一種線性的數據結構,和棧不同,隊列遵循“先進先出”的原則。如下圖所示: 在集合框架中我們可以看到LinkedList類繼承了Queue類(隊列)。 普通隊列(Queue) Queue中的方法 …

Nginx — 防盜鏈配置

防盜鏈簡述 防盜鏈是一種保護網絡資源所有者權益的技術手段,旨在防止未經授權的用戶或網站通過直接鏈接的方式盜用資源,以下是關于防盜鏈的簡述: 原理 基于請求頭驗證:服務器通過檢查請求頭中的特定字段,如Referer字…

【淺學】Windows下ffmpeg+nginx+flv將本地視頻推流在本地搭建的Web前端頁面中播放,超詳細步驟

Nginx安裝和配置 下載nginx-1.19.3-http-flv 模塊預編譯包并解壓放在d盤,路徑就跟安裝步驟里說的一樣(如下圖),不然會有其他問題出現。 打開conf/nginx.conf,查看RTMP和http相關的配置,確認端口號和路由名稱 ffpemg推流視頻…

Ubuntu-tomcat安裝部署

https://blog.csdn.net/weixin_43877427/article/details/144697087 Linux下Tomcat安裝與配置_tomcat linux安裝及配置教程-CSDN博客 一、下載Tomcat 1、官網下載 進入后根據自己需要選擇不同的版本,點擊download 進入后,在下圖標注的里邊選擇要下載…

希洛激活器策略思路

在復雜多變的外匯市場中,交易者常常尋求有效的工具來輔助決策。 希洛激活器作為一種綜合性的技術指標,結合了江恩理論、CCI(商品通道指數)和MACD(移動平均收斂發散指標),旨在為交易者提供更為全…