Please enable Javascript to view the contents

Kubernetes-ingress-nginx配置grpc服务

 ·  ☕ 1 分钟

重要

ingress-nginx对于暴露grpc的服务,要求必须tls加密。所以,要么ingress配置grpcs,在服务端自己管理证书;要么ingress配置grpc,在ingress配置统一管理证书。

为便于运维管理证书,此处采用cert-manager统一在ingress配置中。自动生成证书,发布https服务。

环境说明

使用

  1. 生成自签发CA证书,并保存在secret中(供cert-manager签发证书使用);
  2. 配置cluster-issuer,和certificate,使生成Secret,保存证书、ca和私钥;
  3. 创建pod,service,ingress, ingress的tls配置使用第二步生成的Secret;
  4. 执行命令测试grpc端口是否暴露成功;
1
grpcurl -insecure test.icos.city:443 build.stack.fortune.FortuneTeller/Predict

Reference

以上1.2步参考cert-manager相关内容
cert-manager hex-博客
cert-manager hex-github-示例项目

第3,4部参考ingress-nginx的官方示例,
IngressNginx官房GRPC示例

第3,4部也可参考cert-manager的示例代码测试
cert-manager hex-github-示例项目

其他关于grpc的内容,需要参考此链接

grpc_github

grpc_go_quick_start

grpc python quick-start

grpc_java_quick-start

ingress-nginx-grpcExample

ingress-nginx-grpc-DOC

ingress-nginx-grocExampleImage

分享

Hex
作者
Hex
CloudNative Developer

目录