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条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境