k8s学习九-ingress

本文介绍了Kubernetes Ingress的概念及其作为统一入口的作用,详细阐述了Ingress的工作流程。从创建Nginx Pod并暴露为NodePort服务开始,然后部署Ingress Controller,并通过配置Ingress规则实现通过域名访问应用。最后,通过Windows环境中的域名映射进行了访问测试,展示了Ingress在实际应用中的完整流程。
摘要由CSDN通过智能技术生成

1 Ingress概述

在前面使用Service中的NodePort将服务端口号暴漏以供外部访问,这样显然会存在一些弊端:

  • 通过ip+端口的方式对外提供服务
  • 每个节点上都会其端口,访问时通过ip+端口进行访问
  • 每个端口对应一个应用服务

但是在实际中是通过域名来访问应用的,根据域名跳转到不同端口服务中,所以需要在Service之上再添加一层访问入口,这一层就是Ingress。

2 Ingress工作流程

在这里插入图片描述
ingress和pod通过service进行关联,实际访问中ingress作为一个统一的入口,由service关联一组pod。

3 ingress使用

Ingress对外暴露应用,还是首先需要通过Service的NodePort暴露端口,在此基础上再进行操作。

1 创建一个nginx pod

// 创建nginx应用
[root@k8smaster ~]# kubectl create deployment web --image=nginx
deployment.apps/web created
// 将上述应用对外暴露端口
[root@k8smaster ~]# kubectl expose deployment web --port=80 --target-port=80 --type=NodePort
service/web exposed
// 查看
[root@k8smaster ~]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/web-5dcb957ccc-rq5k5 1/1 Running 0 92s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 443/TCP 69d
service/web NodePort 10.106.108.66 80:31558/TCP 28s

2 部署ingress controller
执行yaml文件
在这里插入图片描述
3 配置ingress规则

  • 编写yaml配置文件
    在这里插入图片描述
  • 运行yaml文件
    在这里插入图片描述
  • 访问测试
    windows中配置好域名映射后即可访问
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值