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服务相关推荐

  1. 使用ingress暴露kubernetes集群内部的pod服务

    微信公众号搜索 DevOps和k8s全栈技术 ,关注之后,在后台回复 ingress,就可获取Ingress相关视频和文档,也可扫描文章最后的二维码关注公众号. 回顾 Kubernetes暴露服务的方 ...

  2. 在K8S上的Web服务该怎么做域名解析呢?

    在K8S上的Web服务该怎么做域名解析呢? 我们这个系列的文章一直都在学习和掌握K8S各种组成部分在集群里的角色.作用和使用场景,那么针对今天这个主题任务「给K8S上的Web服务做域名解析」你觉得应该 ...

  3. k8s多集群搭建istio共享控制平面(多网络)及部署grpc服务分流实践

    个人博客原文:http://www.lampnick.com/php/913 本文目标 部署一个多集群的共享的istio服务网格 部署一套基于grpc的服务 对grpc服务进行流量管理 架构图如下 前 ...

  4. 通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布

    简介 日常工作中我们经常需要对服务进行版本更新升级,为此我们经常使用到的发布方式有滚动升级.分批暂停发布.蓝绿发布以及灰度发布,今天主要跟大家分享下在阿里云容器服务Kubernetes集群中如何通过I ...

  5. nginx 集群部署_入门级实操教程!从概念到部署,全方位了解K8S Ingress!

    Kubernetes Ingress用于添加规则,以将流量从外部路由到Kubernetes集群的服务中.在本文中你将了解ingress 的概念,以及用于路由外部流量到Kubernetes deploy ...

  6. 通过阿里云K8S Ingress Controller实现路由配置的动态更新

    简介 在Kubernetes集群中,Ingress作为集群内服务对外暴露的访问接入点,其几乎承载着集群内服务访问的所有流量.我们知道,Nginx Ingress Controller是Kubernet ...

  7. Kubernetes - Ingress暴露应用(四)

    阅读本文前可先参考 Kubernetes - Kubernetes详解:安装部署_MinggeQingchun的博客-CSDN博客 https://blog.csdn.net/MinggeQingch ...

  8. k8s业务迁移与服务部署实践

    K8s运行业务的优势 部署上线业务流程 情景模拟: 业务部署上线是每个运维都需要面对的问题,接下来分别从传统运维和k8s运维角度,梳理操作流程: 传统运维: 安装操作系统 初始化系统配置(安全策略.时 ...

  9. 石墨文档基于K8S的Go微服务实践(上篇)

    1 架构演进 互联网的WEB架构演进可以分为三个阶段:单体应用时期.垂直应用时期.微服务时期. 单体应用时期一般处于一个公司的创业初期,他的好处就是运维简单.开发快速.能够快速适应业务需求变化.但是当 ...

最新文章

  1. python 列表、字典转json字符串
  2. arm linux下编译库System.Net.Primitives.dll和System.Xml.XmlSerializer.dll
  3. 2017 9月java答案_2017年9月计算机二级JAVA试题及答案
  4. CXF配置,ant文件说明及运行,运行cxf中带的项目
  5. 从0-1背包问题学习回溯法、分支界限法、动态规划
  6. 中国巨头竞相复制Clubhouse:一场无关输赢的竞赛
  7. java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
  8. mysql配置所有ip连接_Mysql查看用户连接数配置及每个IP的请求情况
  9. [码海拾贝 之TC] 呼叫外部应用程序或脚本
  10. 阿里云智能图像识别服务发布
  11. Mybatis框架Mybatis下载步骤
  12. sql计算机计费系统,美萍网吧计费管理系统SQL安装教程
  13. 函数信号发生器的功能介绍
  14. 在linux下使用360随身wifi 2 | 李凡希的blog,360随身WiFi一、二代??无线网卡一步实现!...
  15. 背单词的小智 (二分)
  16. AHCI,SATA,NVME
  17. Windows留后门--教程(一)——Windows系统隐藏账户
  18. 财务平台打印不完整处理及横向纵向问题
  19. 一份简单的求职简历怎么写个人介绍?
  20. 医疗行业专业术语知识

热门文章

  1. python 干什么工作具有明显优势-python语言的优势是什么
  2. 中国智能语音行业发展趋势预测:市场规模将达159.7亿[图]
  3. Unity VR开发出语音识别功能
  4. 基于语音识别技术的声控鼠标光标程序设计
  5. win102004优化_windows 10新版2004和1909该如何选择
  6. win8.1计算机开启远程桌面连接不上,Win8.1电脑远程桌面无法连接提示“你的凭据不工作”怎么办...
  7. 蓝桥c++2013真题:前缀判断(代码填空)
  8. MediaInfo源代码分析 5:JPEG解析代码分析
  9. java 字符串 float_Java 字符串转float运算 float转字符串
  10. 2020年最好用的手机是哪一款_2020年换手机不用盲目,目前这4部最值得买,好看好用性价比高...