Kubernetes - 5.2 Discovery and Load Balancing - Ingress

简介:

什么是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

查看ingress详细信息
kubectl get ingress -o yaml
image

kubectl describe ingress nginx-ingress
image

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,多域名的证书可以使用通配符或者多域名集成一张的证书。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
29天前
|
缓存 Kubernetes Docker
容器服务ACK常见问题之容器服务ACK ingress websocket配置失败如何解决
容器服务ACK(阿里云容器服务 Kubernetes 版)是阿里云提供的一种托管式Kubernetes服务,帮助用户轻松使用Kubernetes进行应用部署、管理和扩展。本汇总收集了容器服务ACK使用中的常见问题及答案,包括集群管理、应用部署、服务访问、网络配置、存储使用、安全保障等方面,旨在帮助用户快速解决使用过程中遇到的难题,提升容器管理和运维效率。
|
3月前
|
Kubernetes 负载均衡 应用服务中间件
kubernetes—Ingress详解
kubernetes—Ingress详解
69 0
|
3月前
|
Kubernetes 应用服务中间件 nginx
|
4月前
|
Kubernetes 应用服务中间件 nginx
k8s ingress不生效的bug 解决了。
k8s ingress不生效的bug 解决了。
|
4月前
|
Kubernetes 负载均衡 应用服务中间件
k8s学习-Ingress(安装、模板、创建、删除)
k8s学习-Ingress(安装、模板、创建、删除)
89 0
|
6月前
|
Kubernetes 应用服务中间件 nginx
使用ingress暴露kubernetes集群内部的pod服务
使用ingress暴露kubernetes集群内部的pod服务
|
5月前
|
Kubernetes 应用服务中间件 API
5 分钟了解 Kubernetes Ingress 和 Gateway API
5 分钟了解 Kubernetes Ingress 和 Gateway API
110 0
|
6月前
|
Kubernetes 负载均衡 应用服务中间件
【K8S系列】第十三讲:Ingress详解
【K8S系列】第十三讲:Ingress详解
688 0
|
6月前
|
Kubernetes Cloud Native 应用服务中间件
【云原生】使用k8s创建nginx服务—通过ingress类型暴露
【云原生】使用k8s创建nginx服务—通过ingress类型暴露
|
7月前
|
Kubernetes 应用服务中间件 网络安全
用Kubernetes(k8s)的ingress部署https应用
用Kubernetes(k8s)的ingress部署https应用
211 0