Kubernetes - 5.2 Discovery and Load Balancing - Ingress
什么是Ingress
Ingress可以将Kubernetes内部的Service通过HTTP/HTTPS的虚拟主机方式暴露到集群外部,可以由Ingress定义请求的路由规则。
Ingress 基础操作
通过资源定义清单创建Ingresskubectl 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
查看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
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'
开启WebSocket支持
annotations: nginx.org/websocket-services: teamcity-server-service
更多请参考 https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/
使用技巧
1、安全性考虑建议不要不指定host,所有ingress对象都必须指定host配置,这将保证到一定的安全性。
2、安全性考虑建议开启全站的TLS,多域名的证书可以使用通配符或者多域名集成一张的证书。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kubernetes - 5.1 Discovery and Load Balancing - Service
什么是Service Service是为一组Pod提供入口调度服务,并可以在Pod之间实现负载均衡。由于Pod是有生命周期的,每当Pod进行销毁而启动时IP地址也会随之改变,这将无法被调用者发现到,而Service出新就是为了解决服务发现这个问题,提供一个稳定的入口已便于服务调用者,而不用去关心Pod的IP地址变化。 什么是EndPoint Service会根据资源定义清单中的选择器选择与之绑定的Pod成员,EndPoint就是存储这些Pod成员的IP及端口信息。 Service类型 ClusterIP 将Service提供一个稳定的IP地址供Kubernetes内部的资源对象访问kubectl apply -f service-clusterip.yaml apiVersion: v1 kind: Service metadata: name: nginx-service spec: selector: app: nginx type: ClusterIP ports: - protocol: TCP port: 80 targetPort: 80 查看service详细信息kube...
- 下一篇
Kubernetes - 6.1 Config and Storage - ConfigMap
什么是ConfigMap ConfigMap为Pod中的容器提供了配置文件、环境变量等非敏感信息,通过ConfigMap可以将Pod和其他组件分开,这将使得Pod更加有移植性,使得配置更加容器更改及管理,也使得Pod更加规范。 Config基本操作 通过kubectl create configmapkubectl create configmap nginx-configmap --from-literal=password=123456 通过yaml资源配置清单kubectl apply -f nginx-configmap.yaml apiVersion: v1 kind: List metadata: items: - apiVersion: v1 data: password: "123456" kind: ConfigMap metadata: name: nginx-configmap 通过kubectl get configmap查看详细信息 通过kubectl describe configmap查看详细信息 ConfigMap作为存储卷被Pod调用 创建Config...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- 2048小游戏-低调大师作品
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果