Kubernetes的Sevice管理

服務原理:

所有服務都是根據這個服務衍生或者變化出來,根服務----

服務感知后端靠標簽? slelector 標簽選擇器

kubectl label pods web1 app=web

kubectl cluter-info dump | grep -i service-cluster-ip-range????? 服務ip取值范圍

Service 管理:

創建服務:

---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

解析域名:

創建后端應用:

[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:name: web1labels:app: web   # 服務靠標簽尋找后端
spec:containers:- name: apacheimage: myos:httpd[root@master ~]# kubectl apply -f myweb.yaml
pod/web1 created[root@master ~]# curl http://10.245.5.18
Welcome to The Apache.

負載均衡:

固定IP服務:

---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: 10.245.1.80    # 可以設置 ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

# vim  mysvc.yaml---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: 10.245.1.80    # 可以設置 ClusterIPselector:app: webports:- protocol: TCPport: 80targetPort: 80

端口別名:

[root@master ~]# vim mysvc.yaml 
---
kind: Service
apiVersion: v1
metadata:name: mysvc
spec:type: ClusterIPclusterIP: 10.245.1.80selector:app: webports:- protocol: TCPport: 80targetPort: myhttp    # 使用別名查找后端服務端口[root@master ~]# kubectl apply -f mysvc.yaml 
service/mysvc configured[root@master ~]# vim myweb.yaml 
---
kind: Pod
apiVersion: v1
metadata:name: web1labels:app: web
spec:containers:- name: apacheimage: myos:httpdports:               # 配置端口規范- name: myhttp       # 端口別名protocol: TCP      # 協議containerPort: 80  # 端口號

NodePort:對外發布

云容器引擎:CCE?? 華為云搭建的K8S

端口范圍:30000-32767之間

Ingress:

七層可以基于域名區分,把請求轉發給服務,本身不提供服務,ingress只是一個路由,不提供服務.

 
# 資源對象模板
kubectl create ingress mying --class=nginx --rule=nsd.tedu.cn/*=mysvc:80 --dry-run=client -o yaml

自定義請求頭

循環上傳鏡像到harbor

[root@master dashboard]# docker images|while read i t _;do[[ "${t}" == "TAG" ]] && continue[[ "${i}" =~ ^"harbor:443/".+ ]] && continuedocker tag ${i}:${t} harbor:443/plugins/${i##*/}:${t}docker push harbor:443/plugins/${i##*/}:${t}docker rmi ${i}:${t} harbor:443/plugins/${i##*/}:${t}
done

這段腳本在 Docker 環境中執行,主要做了以下幾件事:

  1. 列出所有的 Docker 鏡像 (docker images)。

  2. 對于每一個鏡像,讀取其 REPOSITORY(倉庫名)和 TAG(標簽)。

  3. 跳過所有 TAG 為 "TAG" 的鏡像。

  4. 跳過所有 REPOSITORY 以 "harbor:443/" 開頭的鏡像。

  5. 對于剩余的鏡像,執行以下操作:

    • 給該鏡像添加一個新的標簽(docker tag),新的標簽格式為 "harbor:443/plugins/原鏡像名:原標簽"。
    • 將新標簽的鏡像推送到 harbor:443 這個 Docker 倉庫(docker push)。
    • 刪除本地存儲的原標簽和新標簽的鏡像(docker rmi)。

這個腳本的主要目的是將本地的一些 Docker 鏡像推送到另一個 Docker 倉庫(harbor:443),并且在推送之后刪除本地的這些鏡像。注意,這個腳本可能會刪除本地的一些重要鏡像,所以在執行之前需要確保這些鏡像不再需要,或者已經做好了備份。

此外,這個腳本假設 "harbor:443" 這個倉庫已經配置好,并且 Docker 客戶端有權限向其中推送鏡像。如果沒有配置好,或者沒有權限,docker push 命令將會失敗。

另外,docker rmi 命令在刪除鏡像時并不會詢問確認,所以如果誤刪除了重要的鏡像,可能會導致數據丟失。因此,在執行這個腳本之前,一定要確保你了解它的作用,并且已經做好了必要的準備。

Web管理插件:

發布服務:

---kin: Service
apiVersion: v1
metaata:labels:k8s-app: kubernetes-ashboardname: kubernetes-ashboardnamespace: kubernetes-ashboard
spec:type: NoePort       ports:- port: 443noePort: 30443targetPort: 8443selector:k8s-app: kubernetes-ashboard

服務賬戶與權限:

創建服務賬號:

---
kind: ServiceAccount
apiVersion: v1
metadata:name: kube-adminnamespace: kubernetes-dashboard

獲取taoken:

角色與鑒權:

獲取列表:多個資源對象?????????????? 單一資源對象,屬性

補丁:局部更新?? 更新是全部更新

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

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

相關文章

React富文本編輯器開發(六)

現在,相關的基礎知識我們應該有個大概的了解了,但離我們真正的開發出一個實用型的組件還有一段距離,不過不用擔心,我們離目標已經越來越近。 以現在我們所了解的內容而言,或許你發現了一個問題,就是我們的編…

CentOS配網報錯:network is unreachable

常用命令: 打開: cd /etc/sysconfig/network-scripts/ 修改: vim ifcfg-ens33 打開修改: vim /etc/sysconfig/network-scripts/ifcfg-ens33 保存: 方法1:ESCZZ(Z要大寫) 方…

LabelImg官方文檔摘錄

LabelImg官方文檔:https://github.com/HumanSignal/labelImg 注釋(annotation)以 PASCAL VOC 格式保存為 XML 文件,這是ImageNet使用的格式。此外,它還支持 YOLO 和 CreateML 格式。 安裝 使用CSDN博主打包的程序&a…

Linux:地址空間的轉換以及線程的理解和使用

文章目錄 線程的理解地址空間的轉換問題總結 線程的優點線程的缺點線程的健壯性問題 本篇主要進行對于進程和線程的理解,以及對于線程的一部分使用方法和使用的原理 線程的理解 首先回顧前面一篇的內容中,對于進程的基本認識: 什么是線程&…

OWASP TOP 10解析:構建堅不可摧的Web應用安全防線

當涉及到Web應用程序安全的話題時,OWASP(開放式Web應用程序安全項目)的TOP 10是一個不可忽視的參考點。OWASP TOP 10列舉了當前Web應用程序中最嚴重的安全風險,幫助開發人員、測試人員和安全專業人員更好地理解并針對這些風險采取…

【LeetCode:2368. 受限條件下可到達節點的數目 + BFS】

🚀 算法題 🚀 🌲 算法刷題專欄 | 面試必備算法 | 面試高頻算法 🍀 🌲 越難的東西,越要努力堅持,因為它具有很高的價值,算法就是這樣? 🌲 作者簡介:碩風和煒,…

Mybatis實戰(1)

mybatis-pageHelper 1&#xff0c;添加依賴&#xff1a; <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!--pag…

SpringBoot-yaml語法

1.概念 在Springboot的項目中&#xff0c;配置文件有以下幾種格式&#xff1a; Application.propertiesApplication.yamlApplication.yml 其中官方推薦我們使用yaml的格式(因為能表示的數據類型很多樣) 2.基本語法 # yaml形式的配置文件# 普通的key-value&#xff08;分號之后…

用numpy搭建自己的神經網絡

搭建之前的基礎與思考 構建模型的基本思想&#xff1a; 構建深度學習的過程&#xff1a;產生idea&#xff0c;將idea轉化成code&#xff0c;最后進行experiment&#xff0c;之后根據結果修改idea&#xff0c;繼續idea–>code–>experiment的循環&#xff0c;直到最終訓練…

matplotlib條形圖

matplotlib條形圖 假設你獲取到了2017年內地電影票房前20的電影(列表a)和電影票房數據(列表b), 那么如何更加直觀的展示該數據? from matplotlib import pyplot as plta ["Wolf Warrior 2", "Fast and Furious 8", "Kung Fu Yoga", "Jo…

【LiveData】LiveData轉換及操作符分析

使用示例 LiveData操作符可以將一個LiveData轉換為另一個LiveData 當源LiveData發生變更時&#xff0c;會自動通知目標LiveData val srcLiveData : LiveData<T>val dstLiveData : LiveData<R>dstLiveData srcLiveData.distinctUntilChanged().switchMap{returnsw…

線性表——單鏈表的增刪查改

本節復習鏈表的增刪查改 首先&#xff0c; 鏈表不是連續的&#xff0c; 而是通過指針聯系起來的。 如圖&#xff1a; 這四個節點不是連續的內存空間&#xff0c; 但是彼此之間使用了一個指針來連接。 這就是鏈表。 現在我們來實現鏈表的增刪查改。 目錄 單鏈表的全部接口…

位運算---求n的二進制表示中第k位是1還是0 (lowbit)

操作&#xff1a; 先把第k位移到最后一位&#xff08;右邊第一位&#xff09; 看個位是1還是0 lowbit(x)&#xff1a;返回x的最右邊的1。 原理&#xff1a; 其中 &#xff0c;意思是 是 的補碼。 就可以求出最右邊的一位1。 應用&#xff1a; 當中 的個數。 int re…

AI-數學-高中-33概率-事件的關系與運算

原作者視頻&#xff1a;【概率】【一數辭典】2事件的關系與運算_嗶哩嗶哩_bilibili 事件&#xff1a; 和/并事件&#xff1b;積/交事件&#xff1b;互訴事件&#xff1b;對立(補集)事件&#xff1b;

【詳識JAVA語言】面向對象程序三大特性之二:繼承

繼承 為什么需要繼承 Java中使用類對現實世界中實體來進行描述&#xff0c;類經過實例化之后的產物對象&#xff0c;則可以用來表示現實中的實體&#xff0c;但是 現實世界錯綜復雜&#xff0c;事物之間可能會存在一些關聯&#xff0c;那在設計程序是就需要考慮。 比如&…

04.其他方案

其他方案 1.事務狀態表調??重試接收?冪等 介紹 調??維護?張事務狀態表&#xff08;或者說事務?志、?志流?&#xff09;&#xff0c;在每次調?之前&#xff0c;落盤?條事務流?&#xff0c;?成?個全局的事務ID 事務開始之前的狀態是Begin&#xff0c;全部結束之…

Go語言進階篇——文件

文件的打開 文件的常見的兩種打開方式是基于os包所提供的兩個函數: func Open(name string) (*File,error) func OpenFile(name string flag int perm FileMode) (*File,error)相對于前者&#xff0c;OpenFile可以提供更加細致的操作&#xff0c;而前者就是對后者的一個簡單封…

碼垛工作站:食品生產企業的轉型助推器

在當今高度自動化的工業生產中&#xff0c;碼垛工作站的應用正逐漸成為一種趨勢。某食品生產企業在面臨市場競爭加劇、人工成本上升等多重壓力下&#xff0c;決定引入碼垛工作站&#xff0c;以期實現生產流程的升級與變革。 一、碼垛工作站引入背景 該企業主要從事休閑食品的…

Android 中的 LinearLayout 布局

在 Android 開發中&#xff0c;布局是至關重要的一部分&#xff0c;它決定了應用程序的界面結構和用戶體驗。LinearLayout 是 Android 中最常用的布局之一&#xff0c;它以線性方式排列子視圖&#xff0c;可以垂直或水平布局。在這篇博客中&#xff0c;我們將深入了解 LinearLa…

數據結構實現-棧和隊列

順序棧 #include <iostream> using namespace std; #define MaxSize 50//順序棧 template<typename ElemType> struct SqStack{ElemType data[MaxSize];int top; };//初始化 template<typename ElemType> void InitStack(SqStack<ElemType>&s){s.…