Lazy loaded image
k8s云原生运维
Ingress资源对象
字数 493阅读时长 2 分钟
2024-8-18
2024-8-21
type
status
date
slug
summary
tags
category
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概述