当前位置: 首页 > news >正文

一文读懂Ingress-Nginx以及实战教程

Ingress-Nginx简介

Ingress-Nginx是Kubernetes的一个入口控制器,它允许您将外部HTTP和HTTPS流量路由到集群内的服务。除了标准的HTTP/HTTPS路由功能外,Ingress-Nginx还支持WebSocket、gRPC、TCP和UDP协议。

实战教程:从零开始部署Ingress-Nginx
步骤1:环境准备

确保您的Kubernetes集群版本为v1.29.7,并且已经安装了Helm v3.15.3用于包管理。如果尚未安装,请参考Helm官方文档进行安装。

步骤2:添加Ingress-Nginx Helm仓库
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
步骤3:下载并修改Ingress-Nginx Chart

首先,下载Ingress-Nginx的Chart:

mkdir helm && cd helm
helm pull ingress-nginx/ingress-nginx --version 4.11.1
tar zxvf ingress-nginx-4.11.1.tgz
cd ingress-nginx

接下来,根据需要调整values.yaml文件中的参数,例如镜像地址、NodePort端口等。

步骤4:部署Ingress-Nginx

使用以下命令检查配置是否正确:

helm install ingress-nginx . --dry-run=client --namespace=ingress-nginx

确认无误后,执行以下命令部署Ingress-Nginx:

helm install ingress-nginx . --namespace=ingress-nginx --create-namespace
步骤5:创建Deployment、Service和Ingress资源

以下是创建Nginx实例的YAML示例:

Nginx Deployment:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-test
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: registry.cn-hangzhou.aliyuncs.com/hcie/nginx:1.26.1-alpine
        ports:
        - containerPort: 80

Nginx Service:

apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  type: ClusterIP
  ports:
  - port: 80
    targetPort: 80

Ingress Resource:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-http
spec:
  ingressClassName: "nginx"
  rules:
  - host: nginx.steven.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: nginx-service
            port:
              number: 80

使用如下命令应用上述配置:

kubectl apply -f ingress-test.yaml
步骤6:测试部署结果

通过查看Pod、Service和Ingress的状态来验证部署是否成功:

kubectl get deployment,svc,ingress
结论

通过这个实战教程,我们学习了如何在Kubernetes集群中部署和配置Ingress-Nginx。无论是简单的应用场景还是更复杂的需求,Ingress-Nginx都能够提供强有力的支持。希望本文能够帮助您更好地理解和使用Ingress-Nginx,如果您有任何问题或建议,欢迎留言讨论。

相关文章:

  • 词袋模型 (BOW) 解析及代码实战
  • 华为支付-商户基础支付场景准备
  • MongoDB 入门操作指南
  • 有哪些滤波,原理是什么,分别在什么时候用
  • 模糊数学模型:基础概念
  • DeepSeek 助力 Vue 开发:打造丝滑的卡片(Card)
  • 基于SpringBoot+uniapp的在线办公小程序+LW示例参考
  • 2025 docker可视化管理面板DPanel的安装
  • 如何使用CSS画一个三角形,原理是什么?
  • HarmonyOS:使用List实现分组列表(包含粘性标题)
  • 算法18(力扣136)只出现一次的数字
  • Huggingface加载阅读理解任务数据集至本地
  • 深度学习项目--基于RNN的阿尔茨海默病诊断研究(pytorch实现)
  • Node.js技术原理分析系列——Node.js调试能力分析
  • pycharm ai插件
  • 【人工智能】如何选择合适的大语言模型,是能否提高工作效率的关键!!!
  • 【学术投稿-第四届智能电网和绿色能源国际学术会议(ICSGGE 2025)】CSS基本选择器详解:掌握基础,轻松布局网页
  • ML.NET库学习006:成人人口普查数据分析与分类预测
  • AI 编程私有化部署,在使用 cline 时,可能无法避免私隐的泄漏问题
  • Kotlin 优雅的接口实现
  • 如何充实网站内容/百度推广电话客服24小时
  • 做竞价网站要准备什么条件/苏州seo排名公司
  • jsp简述网站开发流程/建设网站费用
  • 四川建筑人员信息查询/东莞seo建站优化工具
  • 做网站如何对接支付/长春网站优化指导
  • 网站科普信息化建设的意义/互联网营销师证书骗局