使用k8s Ingress暴露gRPC服务
Kubernetes 暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;前两种估计都应该很熟悉,下面详细的了解下这个 Ingress
注意:ingress属于7层代理,无法处理tcp的问题,需要自己编写configmap
Ingress由两部分组成:Ingress Controller 和 Ingress 服务。
官方:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md#backend-protocol
使用Ingress将gRPC服务暴露到Kubernetes集群外部
这里假设Kubernetes集群中运行一个foo-svc的gRPC Service,以foo-svc为例,将它暴露到集群外部。 从集群外部访问这个服务的域名为foo-svc.frognew.com,需要创建foo-svc.frognew.com的TLS证书的Secret,这里是frognew-tls-secret。
接下来集群中为foo-svc创建下面的Ingress资源即可:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:name: foo-svclabels:app: foo-svcannotations:nginx.ingress.kubernetes.io/backend-protocol: "GRPC"# nginx.ingress.kubernetes.io/grpc-backend: "true" DEPRECATED since nginx ingress 1.8nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:rules:- host: foo-svc.frognew.comhttp:paths:- path: /backend:serviceName: foo-svcservicePort: 80tls:- hosts:- foo-svc.frognew.comsecretName: frognew-tls-secret
注意这里使用nginx.ingress.kubernetes.io/backend-protocol: "GRPC"来致命ingress后端的Service是gRPC协议。 (在nginx ingress controller 1.8之前的版本使用的是nginx.ingress.kubernetes.io/grpc-backend: “true”)。
关于Nginx Ingress Controller的配置都是通过Annotation实现的,更多配置可参考NGINX Ingress Annotations。
参考:https://www.jianshu.com/p/189fab1845c5
https://www.jianshu.com/p/feeea0bbd73e
使用k8s Ingress暴露gRPC服务相关推荐
- 使用ingress暴露kubernetes集群内部的pod服务
微信公众号搜索 DevOps和k8s全栈技术 ,关注之后,在后台回复 ingress,就可获取Ingress相关视频和文档,也可扫描文章最后的二维码关注公众号. 回顾 Kubernetes暴露服务的方 ...
- 在K8S上的Web服务该怎么做域名解析呢?
在K8S上的Web服务该怎么做域名解析呢? 我们这个系列的文章一直都在学习和掌握K8S各种组成部分在集群里的角色.作用和使用场景,那么针对今天这个主题任务「给K8S上的Web服务做域名解析」你觉得应该 ...
- k8s多集群搭建istio共享控制平面(多网络)及部署grpc服务分流实践
个人博客原文:http://www.lampnick.com/php/913 本文目标 部署一个多集群的共享的istio服务网格 部署一套基于grpc的服务 对grpc服务进行流量管理 架构图如下 前 ...
- 通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布
简介 日常工作中我们经常需要对服务进行版本更新升级,为此我们经常使用到的发布方式有滚动升级.分批暂停发布.蓝绿发布以及灰度发布,今天主要跟大家分享下在阿里云容器服务Kubernetes集群中如何通过I ...
- nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!
Kubernetes Ingress用于添加规则,以将流量从外部路由到Kubernetes集群的服务中.在本文中你将了解ingress 的概念,以及用于路由外部流量到Kubernetes deploy ...
- 通过阿里云K8S Ingress Controller实现路由配置的动态更新
简介 在Kubernetes集群中,Ingress作为集群内服务对外暴露的访问接入点,其几乎承载着集群内服务访问的所有流量.我们知道,Nginx Ingress Controller是Kubernet ...
- Kubernetes - Ingress暴露应用(四)
阅读本文前可先参考 Kubernetes - Kubernetes详解:安装部署_MinggeQingchun的博客-CSDN博客 https://blog.csdn.net/MinggeQingch ...
- k8s业务迁移与服务部署实践
K8s运行业务的优势 部署上线业务流程 情景模拟: 业务部署上线是每个运维都需要面对的问题,接下来分别从传统运维和k8s运维角度,梳理操作流程: 传统运维: 安装操作系统 初始化系统配置(安全策略.时 ...
- 石墨文档基于K8S的Go微服务实践(上篇)
1 架构演进 互联网的WEB架构演进可以分为三个阶段:单体应用时期.垂直应用时期.微服务时期. 单体应用时期一般处于一个公司的创业初期,他的好处就是运维简单.开发快速.能够快速适应业务需求变化.但是当 ...
最新文章
- python 列表、字典转json字符串
- arm linux下编译库System.Net.Primitives.dll和System.Xml.XmlSerializer.dll
- 2017 9月java答案_2017年9月计算机二级JAVA试题及答案
- CXF配置,ant文件说明及运行,运行cxf中带的项目
- 从0-1背包问题学习回溯法、分支界限法、动态规划
- 中国巨头竞相复制Clubhouse:一场无关输赢的竞赛
- java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
- mysql配置所有ip连接_Mysql查看用户连接数配置及每个IP的请求情况
- [码海拾贝 之TC] 呼叫外部应用程序或脚本
- 阿里云智能图像识别服务发布
- Mybatis框架Mybatis下载步骤
- sql计算机计费系统,美萍网吧计费管理系统SQL安装教程
- 函数信号发生器的功能介绍
- 在linux下使用360随身wifi 2 | 李凡希的blog,360随身WiFi一、二代??无线网卡一步实现!...
- 背单词的小智 (二分)
- AHCI,SATA,NVME
- Windows留后门--教程(一)——Windows系统隐藏账户
- 财务平台打印不完整处理及横向纵向问题
- 一份简单的求职简历怎么写个人介绍?
- 医疗行业专业术语知识
热门文章
- python 干什么工作具有明显优势-python语言的优势是什么
- 中国智能语音行业发展趋势预测:市场规模将达159.7亿[图]
- Unity VR开发出语音识别功能
- 基于语音识别技术的声控鼠标光标程序设计
- win102004优化_windows 10新版2004和1909该如何选择
- win8.1计算机开启远程桌面连接不上,Win8.1电脑远程桌面无法连接提示“你的凭据不工作”怎么办...
- 蓝桥c++2013真题:前缀判断(代码填空)
- MediaInfo源代码分析 5:JPEG解析代码分析
- java 字符串 float_Java 字符串转float运算 float转字符串
- 2020年最好用的手机是哪一款_2020年换手机不用盲目,目前这4部最值得买,好看好用性价比高...