目录

一、准备

1、在master节点部署ingress的资源清单文件

2、在node节点部署ingress-1.11.tar镜像(根据部署环境选择版本)

二、基于NodePort模式验证

1、在master节点进入ingress的资源清单文件

2、修改deploy.yaml文件

3、生成deploy.yaml资源

4、在node节点中将ingress镜像导入

5、现在修改NodPort

6、写一个nginx资源清单

7、设置http代理,创建ingress-http.yaml

8、创建ingress-http.yaml资源

9、查看pod运行节点和端口号

10、在访问主机的hosts文件中添加pod运行节点的ip和域名

11、通过域名访问

三、基于LoadBalancer模式验证

1、在master节点部署metallb负载均衡器

2、进入metallb配置文件

3、创建一个IP地址池

4、关联IP地址池

5、加载metallb资源清单

6、加载IP池

7、加载地址池关联规则

8、创建nginx资源清单

9、向http域名解析文件中添加新域名

10、更新域名解析文件

11、加载nginx资源清单

12、修改 LoadBalancer

13、访问


一、准备

1、在master节点部署ingress的资源清单文件

2、在node节点部署ingress-1.11.tar镜像(根据部署环境选择版本)

二、基于NodePort模式验证

1、在master节点进入ingress的资源清单文件

cd /ingress/ingress-nginx-controller-v1.11.3/deploy/static/provider/cloud

2、修改deploy.yaml文件

  • type修改为NodePort(可以在文件中直接修改,也可以启动后修改)

  • 删除文件内所有版本后的哈希算法

3、生成deploy.yaml资源

kubect create -fdeploy.yaml

会生成新的资源清单ingress-nginx

4、在node节点中将ingress镜像导入

docker  load -i ingress-1.11.tar 

5、现在修改NodPort

kubectl -n ingress-nginx edit svc ingress-nginx-controller 

6、写一个nginx资源清单

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy
  name: nginx-deploy
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-deploy
  template:
    metadata:
      labels:
        app: nginx-deploy
    spec:
      containers:
      - image: nginx:latest
        imagePullPolicy: IfNotPresent
        name: nginx
        ports:
        - containerPort: 80
---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-deploy
  name: nginx-svc
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-deploy
  type: ClusterIP

7、设置http代理,创建ingress-http.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
# 创建一个类型为Ingress的资源
metadata:
  name: nginx-ingress
# 这个资源的名字为 nginx-ingress
spec:
  ingressClassName: nginx
# 使用nginx
  rules:
  - host: nginx.jx.com
# 访问此内容的域名
    http:
      paths:
      - backend:
          service:
            name: nginx-svc
# 对应nginx的服务名字,该规则的namespace必须与service的一致
            port:
              number: 80
# 访问的端口
        path: / # 匹配规则
        pathType: Prefix # 匹配类型,这里为前缀

8、创建ingress-http.yaml资源

kubectl apply -f ingress-http.yaml

9、查看pod运行节点和端口号

node1节点

端口号31382

10、在访问主机的hosts文件中添加pod运行节点的ip和域名

11、通过域名访问

三、基于LoadBalancer模式验证

1、在master节点部署metallb负载均衡器

2、进入metallb配置文件

cd /metallb-0.14.8/config/manifests

3、创建一个IP地址池

cat >IPAddressPool.yaml<<EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
  name: planip-pool
#这里与下面的L2Advertisement的ip池名称需要一样
  namespace: metallb-system
spec:
  addresses:
  - 192.168.158.135-192.168.158.150
#自定义ip段,不要与集群IP冲突
EOF

4、关联IP地址池

cat >L2Advertisement.yaml<<EOF
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
  name: planip-pool
  namespace: metallb-system
spec:
  ipAddressPools:
  - planip-pool
#这里需要跟上面ip池的名称保持一致
EOF

5、加载metallb资源清单

6、加载IP池

7、加载地址池关联规则

8、创建nginx资源清单

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: nginx-deploy1
  name: nginx-deploy1
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx-deploy1
  template:
    metadata:
      labels:
        app: nginx-deploy1
    spec:
      containers:
      - image: nginx
        imagePullPolicy: IfNotPresent
        name: nginx1
        ports:
        - containerPort: 80
---

apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-deploy1
  name: nginx-svc1
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-deploy1
  type: LoadBalancer

9、向http域名解析文件中添加新域名

10、更新域名解析文件

11、加载nginx资源清单

12、修改 LoadBalancer

kubectl -n ingress-nginx edit svc ingress-nginx-controller

13、集群外部主机访问

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/94410.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/94410.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/94410.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 数据持久化

&#x1f4f1; iOS数据持久化 ✨ 核心概念 数据持久化是指将内存中的数据以特定格式保存到持久存储介质&#xff08;如硬盘&#xff09;的过程&#xff0c;使得应用重启后数据依然可用。在iOS中&#xff0c;由于沙盒机制的限制&#xff0c;应用只能访问自己沙盒内的文件。 沙盒…

数据结构 -- 树

一、树的基本概念&#xff08;一&#xff09;定义树是由 n&#xff08;n ≥ 0&#xff09; 个结点组成的有限集合&#xff0c;是一种非线性层次结构&#xff1a;当 n 0 时&#xff0c;称为空树&#xff1b;当 n > 0 时&#xff0c;存在唯一的根结点&#xff08;无前驱结点&…

单片机---------WIFI模块

1.ESP-12F模组基础知识ESP12-F模组&#xff08;安信可&#xff08;Ai-Thinker&#xff09;ESP8266系列模组&#xff09;是一款基于乐鑫&#xff08;Espressif&#xff09;公司ESP8266芯片的Wi-Fi无线通信模块&#xff0c;广泛应用于物联网&#xff08;IoT&#xff09;领域。它体…

迅为RK3562开发板Android修改uboot logo

本文档配套资料在网盘资料“iTOP-3562 开发板\02_【iTOP-RK3562 开发板】开发资料\07_Android 系统开发配套资料\05_Android 修改 uboot logo 配套资料”路径下。1 准备 logo系统默认 uboot logo&#xff0c;如下图所示&#xff1a;我们如果想要替换这个 logo,首先要制作一个新…

反催收APP开发思路:用Flutter打造证据链管理工具

针对非法催收问题&#xff0c;熊哥分享了一款反催收APP的开发思路&#xff0c;旨在帮助“诚而不幸”的负债人收集骚扰证据&#xff0c;通过Flutter实现跨平台部署。本文整理其核心功能与技术方案&#xff0c;助力开发者快速上手&#xff01;一、核心功能&#xff1a;证据收集与…

市政道路井盖缺失识别误报率↓82%!陌讯多模态融合算法实战优化与边缘部署

原创声明本文为原创技术解析文章&#xff0c;核心技术参数、架构设计及实战数据引用自 “陌讯技术白皮书”&#xff0c;文中算法实现与优化方案均基于实测验证&#xff0c;禁止未经授权转载或篡改内容。一、行业痛点&#xff1a;市政井盖识别的 “三大拦路虎”市政道路井盖作为…

navicat及SQLyog的下载和安装

navicat安装和使用navicat下载和安装navicat 下载navicat 的安装SQLyog下载和安装SQLyog 的下载SQLyog 的安装连接到MySQL数据库navicat下载和安装 navicat 下载 navicat下载地址 这两个都是满足我们需求的&#xff0c;均可 这样我们就得到了一个双击可执行的exe文件 navic…

在TencentOS3上部署OpenTenBase:从入门到实战的完整指南

文章目录前言初识OpenTenBase&#xff1a;不只是又一个分布式数据库OpenTenBase的核心特性环境准备系统环境检查安装必要的依赖包用户环境配置&#xff1a;安全第一创建专用用户配置SSH免密登录&#xff08;单机部署也需要&#xff09;源码编译&#xff1a;从零开始构建获取源码…

flink常见问题之超出文件描述符限制

引言Apache Flink 是一个强大且流行的流处理框架&#xff0c;它支持高吞吐量和低延迟的数据处理。在处理大规模数据流时&#xff0c;Flink 用户可能会遇到各种性能瓶颈&#xff0c;其中之一就是文件描述符的限制。文件描述符是操作系统用来表示打开文件或其他输入/输出资源的一…

雅菲奥朗SRE知识墙分享(一):『SRE对智能运维领域所产生的深远影响』

一、SRE推动了运维与开发的融合1、增强协作&#xff1a;SRE模式鼓励运维与开发团队之间的紧密合作&#xff0c;共享知识、资源和责任&#xff0c;共同解决系统稳定性和性能问题。2、共同目标&#xff1a;通过共同设定系统可靠性和性能目标&#xff0c;运维和开发团队能够协同工…

【JVM内存结构系列】一、入门:先搞懂整体框架,再学细节——避免从一开始就混淆概念

在Java开发中,你是否遇到过这些困惑:明明代码没写错,却突然抛出OutOfMemoryError?调优GC参数时,不知道-Xms和-XX:MetaspaceSize分别影响哪块内存?面试时被问“JVM内存结构和Java内存模型有啥区别”,只能含糊其辞? 其实,这些问题的根源都指向同一个核心——没搞懂JVM的…

《Dual Prompt Personalized Federated Learning in Foundation Models》——论文阅读

面向大规模预训练模型&#xff08;ViT、BERT&#xff09;的千万级设备场景&#xff0c;用“双提示&#xff08;Dual Prompt&#xff09;”机制实现高效、可扩展的个性化联邦学习&#xff08;PFL&#xff09;1.研究背景传统联邦学习在客户端数据异构&#xff08;非独立同分布&am…

深度剖析Lua Table的运作方式

前言&#xff1a;本篇基于Lua-5.3.6源码并配合《Lua 解释器构建&#xff1a;从虚拟机到编译器》一书进行Table的运作解读。一、Table数据结构typedef struct Table {CommonHeader;lu_byte flags; /* 1<<p means tagmethod(p) is not present */lu_byte lsizenode; /* l…

PETR/PETRv2

PE: position embedding 一、PETR算法动机回归 1.1 DETR 输入组成&#xff1a;包含2D位置编码和Object Query 核心流程&#xff1a;通过Object Query直接索引2D特征图&#xff0c;结合位置编码迭代更新Query 特点&#xff1a;整体流程简洁&#xff0c;每个Query代表一个潜在目标…

计算机大数据毕业设计推荐:基于Spark的气候疾病传播可视化分析系统【Hadoop、python、spark】

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、项目介绍二、…

英伟达显卡GPU驱动的本质

我们来深入、详细地探讨一下英伟达&#xff08;NVIDIA&#xff09;GPU驱动程序的本质。 普通用户眼中的驱动程序可能只是一个“让显卡工作的软件”&#xff0c;但它的本质远比这复杂和深刻。我们可以从几个层面来理解它。 核心比喻&#xff1a;翻译官、指挥官与优化大师 如果说…

算法 ---哈希表

一、哈希介绍 是什么 存储数据的容器 什么用 快速查找某个元素 什么时候用哈希表 频繁的查找某一个数的时候 怎么用哈希表 &#xff08;1&#xff09;容器&#xff08;哈希表&#xff09; &#xff08;2&#xff09;用数组模拟哈希表&#xff08;字符串的字符&#xf…

基于分布式环境的令牌桶与漏桶限流算法对比与实践指南

基于分布式环境的令牌桶与漏桶限流算法对比与实践指南 在高并发的分布式系统中&#xff0c;限流是保障服务可用性和稳定性的核心手段。本文聚焦于令牌桶算法与漏桶算法在分布式环境下的实现与优化&#xff0c;对多种解决方案进行横向对比&#xff0c;分析各自的优缺点&#xff…

WPF MVVM入门系列教程(TabControl绑定到列表并单独指定每一页内容)

在以前的开发过程中&#xff0c;对于TabControl控件&#xff0c;我一般是习惯直接定义TabItem&#xff0c;在TabItem下布局&#xff0c;并进行绑定。 类似这样 1 <TabControl ItemsSource"{Binding TabList}" SelectedIndex"0">2 <TabItem…

L2CAP 面向连接信道(CoC)在 BLE 中的应用:建立、流控与数据传输

在物联网(IoT)蓬勃发展的今天,低功耗蓝牙(BLE)技术因其高效节能、低成本等特性,成为短距离无线通信的首选方案。作为 BLE 协议栈的核心组件,逻辑链路控制与适配协议(L2CAP)的面向连接信道(CoC)承担着数据传输的关键任务。本文将深入解析 L2CAP CoC 在 BLE 中的应用,…