k8s整合istio配置gateway入口、配置集群內部服務調用管理

一、 istio gateway使用demo

kubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:name: ngdemo-gatewaynamespace: ssx
spec:selector:istio: ingressgateway # use Istio default gateway implementationservers:- port:number: 80name: httpprotocol: HTTPhosts:- "tomcat.shenshuxin.cn"
EOFkubectl apply -f - <<EOF
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:name: ngdemo-virtualservicenamespace: ssx
spec:hosts:- "tomcat.shenshuxin.cn"gateways:- ngdemo-gatewayhttp:- match:- uri:prefix: /v1route:- destination:port:number: 8082host: demo-tomcat-for-ingress-name- route:- destination:port:number: 8081host: demo-tomcat-for-ingress-name
EOF

curl -HHost:tomcat.shenshuxin.cn “http://node101:32318”
端口號是ingressgateway服務的nodeport
查看方式:kubectl get service -n istio-system | grep istio-ingressgateway
找到80端口對應的nodeport即可

二、istio部署測試服務之間的調用通信

部署兩個tomcat服務pod并且配置serivce服務

注意部署的兩個deployment需要指定一下版本標簽version: ??

apiVersion: apps/v1
kind: Deployment
metadata:name: demo-tomcat-for-istio-name1namespace: ssx
spec:replicas: 1selector:matchLabels:app: demo-tomcat-for-istio-dmtemplate:metadata:labels:app: demo-tomcat-for-istio-dmversion: vv11spec:containers:- image: 'docker.io/library/tomcat:8'imagePullPolicy: IfNotPresentname: demo-tomcat-cports:- containerPort: 8080---
apiVersion: apps/v1
kind: Deployment
metadata:name: demo-tomcat-for-istio-name2namespace: ssx
spec:replicas: 1selector:matchLabels:app: demo-tomcat-for-istio-dmtemplate:metadata:labels:app: demo-tomcat-for-istio-dmversion: vv22spec:containers:- image: 'docker.io/library/tomcat:8'imagePullPolicy: IfNotPresentname: demo-tomcat-cports:- containerPort: 8080---
apiVersion: v1
kind: Service
metadata:labels:app: demo-tomcat-for-istio-sv-lbname: demo-tomcat-for-istio-namenamespace: ssx
spec:ports:- name: tomcat8080port: 8081protocol: TCPtargetPort: 8080selector:app: demo-tomcat-for-istio-dmtype: ClusterIP

通過istio的虛擬服務進行流量管理

注意這里的hosts名稱(demo-tomcat-for-istio-name)要和上面的service配置的一致,這樣istio才可以進行流量管理。
這里設置了請求轉發策略,并且設置自定義響應頭

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:name: demo-tomcat-istio-vsnamespace: ssx
spec:hosts:- demo-tomcat-for-istio-namehttp:- headers:request:set:test: "true"route:- destination:host: demo-tomcat-for-istio-namesubset: vv11weight: 10headers:response:set:ssxppp: abc- destination:host: demo-tomcat-for-istio-namesubset: vv22headers:response:set:ssxppp: 123weight: 90---apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:name: demo-tomcat-istio-drnamespace: ssx
spec:host: demo-tomcat-for-istio-namesubsets:- name: vv11labels:version: vv11- name: vv22labels:version: vv22

驗證

隨便找一個集群中的通過istio代理的服務,執行curl命令:

# curl -I demo-tomcat-for-istio-name.ssx:8081
HTTP/1.1 200 OK
accept-ranges: bytes
etag: W/"8-1691939281480"
last-modified: Sun, 13 Aug 2023 15:08:01 GMT
content-type: text/html
content-length: 8
date: Tue, 15 Aug 2023 00:54:15 GMT
x-envoy-upstream-service-time: 2
server: envoy
ssxppp: fs

調用的方式是service名稱.命名空間名稱:端口號
curl -I命令是只顯示響應頭

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

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

相關文章

碼銀送書第五期《互聯網廣告系統:架構、算法與智能化》

廣告平臺的建設和完善是一項長期工程。例如&#xff0c;谷歌早于2003年通過收購Applied Semantics開展Google AdSense 項目&#xff0c;而直到20年后的今天&#xff0c;谷歌展示廣告平臺仍在持續創新和提升。廣告平臺是負有營收責任的復雜在線平臺&#xff0c;對其進行任何改動…

Mysql—修改用戶密碼(重置密碼)

Mysql—修改用戶密碼&#xff08;重置密碼&#xff09; 1、登錄mysql 1 2 [rootlocalhost ~]# mysql -uroot -p123456 [rootlocalhost ~]# mysql -hlocalhost -uroot -p123456 如果忘記密碼&#xff0c;則跳過MySQL的密碼認證過程。步驟如下&#xff1a; 修改Mysql配置文件…

TypeScript教程(三)變量聲明

一、變量聲明 變量是一種使用方便的占位符&#xff0c;用于引用計算機內存地址&#xff0c;可以將變量看做存儲數據的容器 命名規則&#xff1a; 1.變量名稱可以包含數字和字母 2.除了下劃線_和美元$符號外&#xff0c;不能包含其他特殊字符&#xff0c;包括空格 3.變量名…

使用GUI Guider工具在MCU上開發嵌入式GUI應用 (1) - GUI Guider簡介及安裝

使用GUI Guider工具在MCU上開發嵌入式GUI應用 (1) - GUI Guider簡介及安裝 受限于每篇文章最多只能貼9張圖的限制&#xff0c;這個教程被拆分成了多篇文章連載發布&#xff0c;完整目錄結構如下圖x所示。后續會發布完整教程的pdf文件&#xff0c;敬請期待。 圖x 完整教程文檔…

機器學習 | Python實現KNN(K近鄰)模型實踐

機器學習 | Python實現KNN(K近鄰)模型實踐 目錄 機器學習 | Python實現KNN(K近鄰)模型實踐基本介紹模型原理源碼設計學習小結參考資料基本介紹 一句話就可以概括出KNN(K最近鄰算法)的算法原理:綜合k個“鄰居”的標簽值作為新樣本的預測值。更具體來講KNN分類過程,給定一個訓…

網絡安全(自學)

想自學網絡安全&#xff08;黑客技術&#xff09;首先你得了解什么是網絡安全&#xff01;什么是黑客&#xff01; 網絡安全可以基于攻擊和防御視角來分類&#xff0c;我們經常聽到的 “紅隊”、“滲透測試” 等就是研究攻擊技術&#xff0c;而“藍隊”、“安全運營”、“安全…

無服務器架構發布啦!

導讀Serverless 1.15.2 已發布。The Serverless Framework (無服務器架構&#xff09;允許你自動擴展、按執行付費、將事件驅動的功能部署到任何云。 目前支持 AWS Lambda、Apache OpenWhisk、Microsoft Azure&#xff0c;并且正在擴展以支持其他云提供商。 Serverless 降低了…

nodejs+vue+elementui電影訂票網站系統_wqc3k

電影訂票系統在國內有很多值得借鑒的例子&#xff0c;功能也都趨于完善&#xff0c;因此此次電影訂票系統將輕量化開發&#xff0c;要完成以下功能&#xff1a; &#xff08;1&#xff09;要支持完整的用戶注冊&#xff0c;登錄功能&#xff0c;賬號的管理通過管理員來實現。 &…

PHP中的16個危險函數

php中內置了許許多多的函數&#xff0c;在它們的幫助下可以使我們更加快速的進行開發和維護&#xff0c;但是這個函數中依然有許多的函數伴有高風險的&#xff0c;比如說一下的16個函數不到萬不得已不盡量不要使用&#xff0c;因為許多“高手”可以通過這些函數抓取你的漏洞。 …

【Spring】核心容器——集合注入

1、集合種類 數組 List Set Map Properties 2、配置 <bean id"bookDao" class"dao.impl.BookDaoImpl"><property name"array"><array><value>2</value><value>4</value><value>6</value&g…

Docker升級后,出現Error response from daemon: Unknown runtime specified docker-runc

現象&#xff1a;docker升級版本后&#xff0c;重啟docker服務出現&#xff1a; [rootDocker scripts]# docker start registry Error response from daemon: Unknown runtime specified docker-runc Error: failed to start containers: registry解決辦法&#xff1a; 改完之…

大數據Flink(六十三):SqlClient工具的使用

文章目錄 SqlClient工具的使用 一、???????入門

【獨立版】新零售社區團購電商系統生鮮水果商城興盛優選十薈團源碼

【獨立版】新零售社區團購電商系統生鮮水果商城興盛優選十薈團源碼

私有服務Nexus安裝

下載地址&#xff1a; 鏈接&#xff1a;https://pan.baidu.com/s/1xpOyRg7SfJsui5cL8PVRDg 提取碼&#xff1a;i574 解壓&#xff1a; tar -zxvf nexus-3.12.1-01-unix.tar.gz生成2個文件夾 nexus-3.12.1-01 和 sonatype-work用root用戶給普通用戶授權這2個文件夾的權限 例…

k8s認證詳解 k8s證書詳解 2023推薦

推薦閱讀 https://www.yii666.com/blog/478731.html?actiononAll 在 Kube-apiserver 中提供了很多認證方式&#xff0c;其中最常用的就是 TLS 認證&#xff0c;當然也有 BootstrapToken&#xff0c;BasicAuth 認證等&#xff0c;只要有一個認證通過&#xff0c;那么 Kube-api…

NeMo 聲紋識別VPR-實戰

聲紋識別(VPR) ,生物識別技術的一種,也稱為說話人識別 ,是從說話人發出的語音信號中提取聲紋信息,從應用上看,可分為: 說話人辨認(Speaker Identification):用以判斷某段語音是若干人中的哪一個所說的,是“多選一”問題;說話人確認(Speaker Verification):用以確認某…

Leetcode-每日一題【劍指 Offer 31. 棧的壓入、彈出序列】

題目 輸入兩個整數序列&#xff0c;第一個序列表示棧的壓入順序&#xff0c;請判斷第二個序列是否為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如&#xff0c;序列 {1,2,3,4,5} 是某棧的壓棧序列&#xff0c;序列 {4,5,3,2,1} 是該壓棧序列對應的一個彈出序列&#xf…

在SAP上使用 LiquidUI Android 掃描條形碼/QR 碼

LiquidUI Android 可使用安卓移動設備的內置攝像頭掃描條形碼和二維碼&#xff0c;為輸入框填充數值。因此&#xff0c;無需附加任何第三方設備進行掃描。 LiquidUI Android 還提供了掃描功能&#xff0c;如 Accessible-Enter&#xff08;俗稱自動輸入&#xff09;和 Accessib…

kotlin + LiveData 測試

viewModel測試&#xff1a;https://developer.android.com/codelabs/basic-android-kotlin-compose-test-viewmodel#3 androidTestImplementation "org.jetbrains.kotlin:kotlin-test:1.9.0"androidTestImplementation org.jetbrains.kotlinx:kotlinx-coroutines-tes…

基于粒子群改進深度信念網絡的回歸分析,基于PSO-DBN的回歸分析

目錄 背影 DBN神經網絡的原理 DBN神經網絡的定義 受限玻爾茲曼機(RBM) 粒子群算法的原理 DBN的粒子群改進深度信念網絡的回歸分析 基本結構 主要參數 數據 MATALB代碼 結果圖 展望 背影 DBN是一種深度學習神經網絡,擁有提取特征,非監督學習的能力,是一種非常好的分類算…