Kubernetes(7)---ingress

本文深入介绍了Kubernetes的ingress,解释了为什么单独使用service暴露服务在生产环境中不理想,并详细阐述了ingress的安装部署、管理多个service、TLS加密、认证以及地址重写等关键功能。通过ingress,可以实现服务与请求规则的解耦,统一管理业务暴露。文中还提供了具体的配置和操作步骤。
摘要由CSDN通过智能技术生成

一、ingress简介

单独用service暴露服务的方式,在实际生产环境中不太合适

ClusterIP的方式只能在集群内部访问。
NodePort方式的话,测试环境使用还行,当有几十上百的服务在集群中运行时,NodePort的端口管理是灾难。
LoadBalance方式受限于云平台,且通常在云平台部署ELB还需要额外的费用。

ingress可以简单理解为service的service,他通过独立的ingress对象来制定请求转发的规则,把请求路由到一个或多个service中。这样就把服务与请求规则解耦了,可以从业务维度统一考虑业务的暴露,而不用为每个service单独考虑。

Kubernetes 里的Ingress 服务是一种全局的、为了代理不同后端Service 而设置的负载均衡服务。
Ingress由两部分组成:Ingress controller和Ingress服务。
Ingress Controller 会根据你定义的Ingress 对象,提供对应的代理能力。业界常用的各种反向代理项目,比如 Nginx、HAProxy、Envoy、Traefik 等,都已经为Kubernetes 专门维护了对应的Ingress Controller。

在这里插入图片描述

官网:Welcome - NGINX Ingress Controller

二、ingress的安装部署

(1)创建ingress目录并进入

[root@server2 ~]# mkdir ingress
[root@server2 ~]# cd ingress/
[root@server2 ingress]# ls
[root@server2 ingress]# 

2)在官网上找到将裸金属环境下ingress-nginx部署所需资源清单文件deploy.yaml

 下载资源清单文件deploy.yaml

wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.2/deploy/static/provider/cloud/deploy.yaml    ###版本号为1.1.2

 (3)查看资源清单中所需的镜像,在server1(harbor仓库)中下载所需镜像并上传到harbor仓库

[root@server2 ingress]# ls
deploy.yaml
[root@server2 ingress]# vim deploy.yaml 

 需要两个镜像 ingress-nginx-controller:v1.1.2 和 kube-webhook-certgen:v1.1.1

 在Docker Hub中查找镜像,注意版本号

 在harbor仓库中新建ingress-nginx项目,访问级别为公开

 拉取所需要的镜像并上传至仓库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值