Kubernetes Ingress

举报
叶康铭 发表于 2021/03/26 01:23:02 2021/03/26
【摘要】 什么是Ingress Ingress可以将Kubernetes内部的Service通过HTTP/HTTPS的虚拟主机方式暴露到集群外部,可以由Ingress定义请求的路由规则。 Ingress 基础操作 通过资源定义清单创建Ingress kubectl apply -f nginx-ingress.yaml apiVersion: extensions/v1b...

什么是Ingress

Ingress可以将Kubernetes内部的Service通过HTTP/HTTPS的虚拟主机方式暴露到集群外部,可以由Ingress定义请求的路由规则。

Ingress 基础操作

通过资源定义清单创建Ingress
kubectl apply -f nginx-ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginx-ingress
spec:
  rules: - host: nginx.com http: paths: - backend: serviceName: nginx-service servicePort: 80 path: /
  tls: - hosts: - nginx.com secretName: ingress-certificate

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

查看ingress详细信息
kubectl get ingress -o yaml
在这里插入图片描述
kubectl describe ingress nginx-ingress
在这里插入图片描述

Ingress开启TLS支持

在创建Ingress可以通过spec.tls字段可以启用TLS,TLS的密钥对信息可以通过Secret进行存储。

  tls: - hosts: - nginx.com secretName: ingress-certificate

  
 
  • 1
  • 2
  • 3
  • 4

Ingress相关参数

在Ingress可以配置特定的能力,例如后端的负载权重,负载均衡算法,持久化会话,连接超时时长,开启WebSocket等。
连接性相关的

  annotations: nginx.ingress.kubernetes.io/proxy-connect-timeout: '6000' nginx.ingress.kubernetes.io/proxy-read-timeout: '6000' nginx.ingress.kubernetes.io/proxy-send-timeout: '6000'

  
 
  • 1
  • 2
  • 3
  • 4

开启WebSocket支持

  annotations: nginx.org/websocket-services: teamcity-server-service

  
 
  • 1
  • 2

更多请参考 https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/

使用技巧

1、安全性考虑建议不要不指定host,所有ingress对象都必须指定host配置,这将保证到一定的安全性。
2、安全性考虑建议开启全站的TLS,多域名的证书可以使用通配符或者多域名集成一张的证书。

文章来源: blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/m0_38030719/article/details/104495488

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。