欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

从零搭建阿里云托管版k8s集群-ingress

程序员文章站 2022-04-08 22:49:33
预备知识:- k8s基本操作命令- yaml文件格式- linux基础操作(增加执行权限,移动文件,执行命令)- 负载均衡和nat知识之前我们已经创建好了存储卷,容器,服务,hpa,但是目前的项目还没有一个统一的ip可以对外网服务,这就是ingress要做到事情。我们回忆一下,如果没有一个统一的入口,我们将要怎么处理k8s集群中的每一个服务呢,第一种想到的就是创建服务的时候,为每一个服务创建一个slb负载均衡器。阿里云的slb除了收取流量费用之外,还会收取实例费用,所以成.....

预备知识:

 

- k8s基本操作命令

- yaml文件格式

- linux基础操作(增加执行权限,移动文件,执行命令)

- 负载均衡和nat知识

 

之前我们已经创建好了存储卷,容器,服务,hpa,但是目前的项目还没有一个统一的ip可以对外网服务,这就是ingress要做到事情。

我们回忆一下,如果没有一个统一的入口,我们将要怎么处理k8s集群中的每一个服务呢,第一种想到的就是创建服务的时候,为每一个服务创建一个slb负载均衡器。阿里云的slb除了收取流量费用之外,还会收取实例费用,所以成本会有所提升。并且配置起来也比较麻烦。另外服务多了以后,管理维护都变得困难。ingress就是用来解决这些问题

什么是ingress

ingress(在kubernetes v1.1时添加)暴露从集群外到集群内服务的HTTP或HTTPS路由。定义在ingress资源上的规则控制流量的路由方式。

 

通常情况下,Service 和 Pod 的 IP 仅可在集群内部访问。集群外部的请求需要通过负载均衡转发到 Service 在 Node 上暴露的 NodePort 上,然后再由 kube-proxy 通过边缘路由器 (edge router) 将其转发给相关的 Pod 或者丢弃。而 Ingress 就是为进入集群的请求提供路由规则的集合

 

Ingress 可以给 Service 提供集群外部访问的 URL、负载均衡、SSL 终止、HTTP 路由等。为了配置这些 Ingress 规则,集群管理员需要部署一个 Ingress Controller,它监听 Ingress 和 Service 的变化,并根据规则配置负载均衡并提供访问入口。

 

**题外话**:Ingress 控制器有各种类型,包括 Google Cloud Load Balancer, Nginx,Contour,Istio,等等。它还有各种插件,比如 cert-manager (它可以为你的服务自动提供 SSL 证书)/

本文地址:https://blog.csdn.net/winterfeng123/article/details/107408908