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.mzph.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是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算…