kubernetes-6 Ingress服务

1、什么是ingress?

一种全局的、为了代理不同后端 Service 而设置的负载均衡服务,就是 Kubernetes 里的Ingress 服务。

Ingress由两部分组成:Ingress controller和Ingress服务。
Ingress Controller 会根据你定义的 Ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes专门维护了对应的 Ingress Controller。
在这里插入图片描述
一个service一个虚拟ip,但是随着服务数量的增加,ip是不够用的,所以就产生了ingress服务,它可以代理不同后端 Service ,这样很多的service在一个ingress下,只需要一个ip即可。ingres在客户和服务之间增加一层,进而实现负载均衡服务。

2、ingress安装

https://kubernetes.github.io/ingress-nginx/ ## 官网

首先在仓库新建项目ingress-nginx
在这里插入图片描述

上传镜像

在这里插入图片描述

官网下载ingress-nginx部署所需资源清单deploy.yaml文件,修改镜像地址为本地harbor仓库

在这里插入图片描述
在这里插入图片描述

应用该文件,创建一个新的ns叫ingress-nginx

在这里插入图片描述

查看ingress-nginx的所有信息,可以看到产生了两个ingress-nginx-admission和一个ingress-nginx-controller

在这里插入图片描述

查看暴露的端口

在这里插入图片描述

测试访问成功

在这里插入图片描述

3、一个ingress控制多个service

添加svc服务,编辑svc.yaml,创建两个服务,myapp-svc和nginx-svc

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

x`编辑deployment.yaml文件,应用该文件,创建两个标签是myapp的pod和两个标签是nginx的pod。分别作为myapp-svc和nginx-svc的后端。

在这里插入图片描述

在这里插入图片描述

修改 ingress-nginx-controller的服务类型为LoadBalancer

在这里插入图片描述

查看 ingress-nginx-controller这个svc变为LoadBalancer

在这里插入图片描述

编写ingress.yaml文件
[root@server2 ingress]# cat ingress.yaml 
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-myapp
spec:
  rules:
  - host: www1.westos.org               
    http:
      paths:
      - path: /
        backend:
          serviceName: myapp-svc
          servicePort: 80

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress-nginx
spec:
  rules:
  - host: www2.westos.org               
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx-svc
          servicePort: 80

ingress-nginx-controller暴露的外部ip是172.25.10.3 , 端口是32006,我们可以在主机中添加解析分析

在这里插入图片描述
在这里插入图片描述

我们访问,可以看到两个不同的域名对应着一个IP,客户可以通过不同的域名(www1.westos.org和www2.westos.org)访问到ingress,ingress再根据标签的不同(myapp和nginx)达到负载均衡,对应到不同的服务(myapp-svc和nginx-svc),不同的服务再连接到不同的pod,看到的东西就不同。这样只有一个ingress的ip,不会浪费ip的资源。在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值