Lazy loaded image
k8s云原生运维
Ingress资源对象
字数 493阅读时长 2 分钟
2024-8-18
2026-3-1
author
type
Post
status
Published
date
Aug 18, 2024
slug
summary
tags
Ingresss
Ingress
category
k8s云原生运维
icon
password
Ingress译为入口,它的引用旨在为Kubermetes集群中应用程序提供统一的访问入口

Ingress概述

Ingress是一种资源对象,用于管理和配置外部访问集群中Service的路由规则
Ingress工作流程如下图所示
notion image
Ingress 资源 包含一组规则,这些规则定义如何将请求转发到指定 Service,如基于域名,路径等条件
Ingress 控制器根据Ingress 规则负责实现具体的流量路由功能,将外部请求直接转发到Service 关联的后端Pod
Ingress 控制器是一个独立的组件,其功能与kube-proxy组件类似,它主要通过NginxHAProxyKong等七层负载均衡技术实现,而kube-proxy组件通过IptablesIPVS实现四层负载均衡

Ingress控制器部署

在使用Ingress 之前,需要Kubernetes集群中安装Ingress 控制器
这里使用官方推荐维护Ingress 控制器(Ingress Nginx) ,详见https://github.com/kubernetes/ingress-nginx
部署Ingress Nginx 控制器
查看Pod 对象
在上述结果种,Pod的作用如下:
  • ingress-nginx-admission-create-zqf89:由Job对象创建Pod,用于创建相关资源,这些资源负责对新创建的Ingress对象进行验证和修改,以便于满足特定的要求
  • ingress-nginx-admission-patch-zpznk:由Job对象创建的Pod,用于集群中现有的Ingress对象进行修订,以满足特定要求
  • ingress-nginx-controller-6b6b6cf847-wwqjw:由Deployment 管理,是Ingress控制器的具体实现

Ingress对外开发公开HTTP服务

Ingress配置HTTPS

Ingress自定义配置

Ingress灰度发布

Ingress工作原理

生产环境架构

上一篇
Prometheus和Grafana简介
下一篇
Kubernetes概述